UNPKG

openapi-directory

Version:

Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS

1 lines 394 kB
{"openapi":"3.0.1","servers":[{"url":"https://api.linode.com/v4"}],"info":{"contact":{"name":"Linode","url":"/"},"description":"# Introduction\nThe Linode API provides the ability to programmatically manage the full\nrange of Linode products and services.\n\nThis reference is designed to assist application developers and system\nadministrators. Each endpoint includes descriptions, request syntax, and\nexamples using standard HTTP requests. Response data is returned in JSON\nformat.\n\n\nThis document was generated from our OpenAPI Specification. See the\n[OpenAPI website](https://www.openapis.org) for more information.\n\n[Download the Linode OpenAPI Specification](/api/v4/openapi.yaml)\n\n\n# Changelog\n\n[View our Changelog](/changelog) to see release\nnotes on all changes made to our API.\n\n# Access and Authentication\n\nSome endpoints are publicly accessible without requiring authentication.\nAll endpoints affecting your Account, however, require either a Personal\nAccess Token or OAuth authentication (when using third-party\napplications).\n\n## Personal Access Token\n\nThe easiest way to access the API is with a Personal Access Token (PAT)\ngenerated from the\n[Linode Cloud Manager](https://cloud.linode.com/profile/tokens).\n\nAll scopes for the OAuth security model (defined below) apply to this\nsecurity model as well.\n\n### Authentication\n\n| Security Scheme Type: | HTTP |\n|-----------------------|------|\n| **HTTP Authorization Scheme** | bearer |\n\n## OAuth\n\nThe OAuth workflow is a three-step process to authenticate a User before an\napplication can start making API calls on the User's behalf. If all you need\nis a Personal Access Token, feel free to skip ahead to the next section.\n\nFirst, the User visits the application's website and is directed to log with\nLinode. The User is then redirected to Linode's authentication server and\npresented the scope levels the application is requesting. Once the User\naccepts the request for access, we redirect them back to the application's\nspecified redirect URI with an access code.\n\nOnce the User has logged in to Linode and you have received an exchange code,\nyou will need to exchange that access code for an Authorization token. You\ndo this by making an HTTP POST request to the following address:\n\n```\nhttps://login.linode.com/oauth/token\n```\n\nMake this request as `application/x-www-form-urlencoded` or as\n`multipart/form-data` and include the following parameters in the POST body:\n\n| PARAMETER | DESCRIPTION |\n|-----------|-------------|\n| client_id | Your app's client ID |\n| client_secret | Your app's client secret |\n| code | The code you just received from the redirect |\n\nYou'll get a reponse like this:\n\n```json\n{\n \"scope\": \"linodes:read_write\",\n \"access_token\": \"03d084436a6c91fbafd5c4b20c82e5056a2e9ce1635920c30dc8d81dc7a6665c\"\n \"token_type\": \"bearer\",\n \"expires_in\": 7200,\n}\n```\n\nIncluded in the reponse is `access_token`. With this token, you can proceed to make\nauthenticated HTTP requests to the API by adding this header to each request:\n\n```\nAuthorization: Bearer 03d084436a6c91fbafd5c4b20c82e5056a2e9ce1635920c30dc8d81dc7a6665c\n```\n\n### Authentication\n\n| Security Scheme Type: | Oauth2 |\n|-----------------------|--------|\n| **AuthorizationCode Oauth Flow** | **Authorization URL:** https://login.linode.com/oauth/authorize<br />**Token URL:** https://login.linode.com/oauth/token<br />**Scopes:**<br /><ul><li>`account:read_only` - Allows access to GET information about your Account.</li><li>`account:read_write` - Allows access to all endpoints related to your Account.</li><li>`domains:read_only` - Allows access to GET Domains on your Account.</li><li>`domains:read_write` - Allows access to all Domain endpoints.</li><li>`events:read_only` - Allows access to GET your Events.</li><li>`events:read_write` - Allows access to all endpoints related to your Events.</li><li>`images:read_only` - Allows access to GET your Images.</li><li>`images:read_write` - Allows access to all endpoints related to your Images.</li><li>`ips:read_only` - Allows access to GET your ips.</li><li>`ips:read_write` - Allows access to all endpoints related to your ips.</li><li>`linodes:read_only` - Allows access to GET Linodes on your Account.</li><li>`linodes:read_write` - Allow access to all endpoints related to your Linodes.</li><li>`longview:read_only` - Allows access to GET your Longview Clients.</li><li>`longview:read_write` - Allows access to all endpoints related to your Longview Clients.</li><li>`nodebalancers:read_only` - Allows access to GET NodeBalancers on your Account.</li><li>`nodebalancers:read_write` - Allows access to all NodeBalancer endpoints.</li><li>`stackscripts:read_only` - Allows access to GET your StackScripts.</li><li>`stackscripts:read_write` - Allows access to all endpoints related to your StackScripts.</li><li>`volumes:read_only` - Allows access to GET your Volumes.</li><li>`volumes:read_write` - Allows access to all endpoints related to your Volumes.</li></ul><br />|\n\n# Requests\n\nRequests must be made over HTTPS to ensure transactions are encrypted. The\nfollowing Request methods are supported:\n\n| METHOD | USAGE |\n|--------|-------|\n| GET | Retrieves data about collections and individual resources. |\n| POST | For collections, creates a new resource of that type. Also used to perform actions on action endpoints. |\n| PUT | Updates an existing resource. |\n| DELETE | Deletes a resource. This is a destructive action. |\n\n\n# Responses\n\nActions will return one following HTTP response status codes:\n\n| STATUS | DESCRIPTION |\n|---------|-------------|\n| 200 OK | The request was successful. |\n| 204 No Content | The server successfully fulfilled the request and there is no additional content to send. |\n| 400 Bad Request | You submitted an invalid request (missing parameters, etc.). |\n| 401 Unauthorized | You failed to authenticate for this resource. |\n| 403 Forbidden | You are authenticated, but don't have permission to do this. |\n| 404 Not Found | The resource you're requesting does not exist. |\n| 429 Too Many Requests | You've hit a rate limit. |\n| 500 Internal Server Error | Please [open a Support Ticket](#operation/createTicket). |\n\n# Errors\n\nSuccess is indicated via [Standard HTTP status codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes).\n`2xx` codes indicate success, `4xx` codes indicate a request error, and\n`5xx` errors indicate a server error. A\nrequest error might be an invalid input, a required parameter being omitted,\nor a malformed request. A server error means something went wrong processing\nyour request. If this occurs, please\n[open a Support Ticket](#operation/createTicket)\nand let us know. Though errors are logged and we work quickly to resolve issues,\nopening a ticket and providing us with reproducable steps and data is always helpful.\n\nThe `errors` field is an array of the things that went wrong with your request.\nWe will try to include as many of the problems in the response as possible,\nbut it's conceivable that fixing these errors and resubmitting may result in\nnew errors coming back once we are able to get further along in the process\nof handling your request.\n\n\nWithin each error object, the `field` parameter will be included if the error\npertains to a specific field in the JSON you've submitted. This will be\nomitted if there is no relevant field. The `reason` is a human-readable\nexplanation of the error, and will always be included.\n\n# Pagination\n\nResource lists are always paginated. The response will look similar to this:\n\n```json\n{\n \"data\": [ ... ],\n \"page\": 1,\n \"pages\": 3,\n \"results\": 300\n}\n```\n\nPages start at 1. You may retrieve a specific page of results by adding\n`?page=x` to your URL (for example, `?page=4`). Page sizes default to 100,\nand can be set to return between 25 and 100. Page size can be set using\n`?page_size=x`.\n\n# Filtering and Sorting\n\nCollections are searchable by fields they include, marked in the spec as\n`x-linode-filterable: true`. Filters are passed\nin the `X-Filter` header and are formatted as JSON objects. Here is a request\ncall for Linode Types in our \"standard\" class:\n\n```Shell\ncurl \"https://api.linode.com/v4/linode/types\" \\\n -H 'X-Filter: { \\\n \"class\": \"standard\"\n }'\n```\n\nThe filter object's keys are the keys of the object you're filtering,\nand the values are accepted values. You can add multiple filters by\nincluding more than one key. For example, filtering for \"standard\" Linode\nTypes that offer one vcpu:\n\n```Shell\n curl \"https://api.linode.com/v4/linode/types\" \\\n -H 'X-Filter: { \\\n \"class\": \"standard\",\n \"vcpus\": 1\n }'\n```\n\nIn the above example, both filters are combined with an \"and\" operation.\nHowever, if you wanted either Types with one vcpu or Types in our \"standard\"\nclass, you can add an operator:\n\n```Shell\ncurl \"https://api.linode.com/v4/linode/types\" \\\n -H 'X-Filter: {\n \"+or\": [\n { \"vcpus\": 1 },\n { \"class\": \"standard\" }\n ]\n }'\n```\n\nEach filter in the `+or` array is its own filter object, and all conditions\nin it are combined with an \"and\" operation as they were in the previous example.\n\nOther operators are also available. Operators are keys of a Filter JSON\nobject. Their value must be of the appropriate type, and they are evaluated\nas described below:\n\n| OPERATOR | TYPE | DESCRIPTION |\n|----------|--------|-----------------------------------|\n| +and | array | All conditions must be true. |\n| +or | array | One condition must be true. |\n| +gt | number | Value must be greater than number. |\n| +gte | number | Value must be greater than or equal to number. |\n| +lt | number | Value must be less than number. |\n| +lte | number | Value must be less than or equal to number. |\n| +contains | string | Given string must be in the value. |\n| +neq | string | Does not equal the value. |\n| +order_by | string | Attribute to order the results by - must be filterable. |\n| +order | string | Either \"asc\" or \"desc\". Defaults to \"asc\". Requires `+order_by`. |\n\nFor example, filtering for [Linode Types](#operation/getLinodeTypes)\nthat offer memory equal to or higher than 61440:\n\n```Shell\ncurl \"https://api.linode.com/v4/linode/types\" \\\n -H 'X-Filter: {\n \"memory\": {\n \"+gte\": 61440\n }\n }'\n```\n\nYou can combine and nest operators to construct arbitrarily-complex queries.\nFor example, give me all [Linode Types](#operation/getLinodeTypes)\nwhich are either `standard` or `highmem` class, and\nhave between 12 and 20 vcpus:\n\n```Shell\ncurl \"https://api.linode.com/v4/linode/types\" \\\n -H 'X-Filter: {\n \"+or\": [\n {\n \"+or\": [\n {\n \"class\": \"standard\"\n },\n {\n \"class\": \"highmem\"\n }\n ]\n },\n {\n \"+and\": [\n {\n \"vcpus\": {\n \"+gte\": 12\n }\n },\n {\n \"vcpus\": {\n \"+lte\": 20\n }\n }\n ]\n }\n ]\n }'\n```\n\n# CLI (Command Line Interface)\n\nThe [Linode CLI](https://github.com/linode/linode-cli) allows you to easily\nwork with the API using intuitive and simple syntax. It requires a\n[Personal Access Token](#section/Personal-Access-Token)\nfor authentication, and gives you access to all of the features and functionality\nof the Linode API that are documented here with CLI examples.\n\nEndpoints that do not have CLI examples are currently unavailable through the CLI, but\ncan be accessed via other methods such as Shell commands and other third-party applications.\n","title":"Linode","version":"4.0.14","x-apisguru-categories":["cloud"],"x-logo":{"backgroundColor":"#fafafa","url":"https://developers.linode.com/api/v4/linode-logo.svg"},"x-origin":[{"converter":{"url":"https://github.com/lucybot/api-spec-converter","version":"2.7.25"},"format":"openapi","url":"https://developers.linode.com/api/v4/openapi.yaml","version":"3.0"}],"x-providerName":"linode.com"},"paths":{"/account":{"get":{"description":"Returns the contact and billing information related to your Account.\n","operationId":"getAccount","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}},"description":"Returns a single Account object."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_only"]}],"summary":"View Account","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account\n"},{"lang":"CLI","source":"linode-cli account view\n"}],"x-linode-cli-action":"view","x-linode-grant":"read_only"},"put":{"description":"Updates contact and billing information related to your Account.\n","operationId":"updateAccount","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}},"description":"Update contact and billing information.","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}},"description":"The updated Account."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_write"]}],"summary":"Update Account","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"address_1\": \"123 Main St.\",\n \"address_2\": \"Suite 101\",\n \"city\": \"Philadelphia\",\n \"company\": \"My Company, LLC\",\n \"country\": \"US\",\n \"email\": \"jsmith@mycompany.com\",\n \"first_name\": \"John\",\n \"last_name\": \"Smith\",\n \"phone\": \"555-555-1212\",\n \"state\": \"PA\",\n \"zip\": 19102,\n }\n }' \\\n https://api.linode.com/v4/account\n"},{"lang":"CLI","source":"linode-cli account update \\\n --first_name John \\\n --last_name Smith\n"}],"x-linode-cli-action":"update","x-linode-grant":"read_write"},"x-linode-cli-command":"account"},"/account/credit-card":{"post":{"description":"Adds/edit credit card information to your Account.\nOnly one credit card can be associated with your Account, so using this endpoint will overwrite your currently active card information with the new credit card.\n","operationId":"createCreditCard","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/CreditCard"},{"properties":{"cvv":{"description":"The Card Verification Value on the back of the card.\n","example":"123","type":"string"}}}]}}},"description":"Update the credit card information associated with your Account.","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Credit Card updated."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_write"]}],"summary":"Add/Edit Credit Card","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"card_number\": \"4111111111111111\",\n \"expiry_month\": 11,\n \"expiry_year\": 2020\n }' \\\n https://api.linode.com/v4/account/credit-card\n"},{"lang":"CLI","source":"linode-cli account update-card \\\n --card_number 4111111111111111 \\\n --expiry_month 11 \\\n --expiry_year 2025\n"}],"x-linode-cli-action":"update-card","x-linode-grant":"read_write"},"x-linode-cli-command":"account"},"/account/events":{"get":{"description":"Returns a collection of Event objects representing actions taken on your Account. The Events returned depends on your grants.\n","operationId":"getEvents","parameters":[{"$ref":"#/components/parameters/pageOffset"},{"$ref":"#/components/parameters/pageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Event"},"type":"array"},"page":{"$ref":"#/components/schemas/PaginationEnvelope/properties/page"},"pages":{"$ref":"#/components/schemas/PaginationEnvelope/properties/pages"},"results":{"$ref":"#/components/schemas/PaginationEnvelope/properties/results"}},"type":"object"}}},"description":"Returns a paginated lists of Event objects."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["events:read_only"]}],"summary":"List Events","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/events\n"},{"lang":"CLI","source":"linode-cli events list\n"}],"x-linode-cli-action":"list","x-linode-grant":"read_only"},"x-linode-cli-command":"events"},"/account/events/{eventId}":{"get":{"description":"Returns a single Event object.","operationId":"getEvent","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Event"}}},"description":"An Event object"},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["events:read_only"]}],"summary":"View Event","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/events/123\n"},{"lang":"CLI","source":"linode-cli events view 123\n"}],"x-linode-cli-action":"view","x-linode-grant":"read_only"},"parameters":[{"description":"The ID of the Event.","in":"path","name":"eventId","required":true,"schema":{"type":"integer"}}],"x-linode-cli-command":"events"},"/account/events/{eventId}/read":{"parameters":[{"description":"The ID of the Event to designate as read.","in":"path","name":"eventId","required":true,"schema":{"type":"integer"}}],"post":{"description":"Marks a single Event as read.","operationId":"eventRead","responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Event read."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["events:read_write"]}],"summary":"Mark Event as Read","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST \\\n https://api.linode.com/v4/account/events/123/read\n"},{"lang":"CLI","source":"linode-cli events mark-read 123\n"}],"x-linode-cli-action":"mark-read","x-linode-grant":"read_write"},"x-linode-cli-command":"events"},"/account/events/{eventId}/seen":{"parameters":[{"description":"The ID of the Event to designate as seen.","in":"path","name":"eventId","required":true,"schema":{"type":"integer"}}],"post":{"description":"Marks all Events up to and including this Event by ID as seen.\n","operationId":"eventSeen","responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Events seen."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["events:read_only"]}],"summary":"Mark Event as Seen","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST \\\n https://api.linode.com/v4/account/events/123/seen\n"},{"lang":"CLI","source":"linode-cli events mark-seen 123\n"}],"x-linode-cli-action":"mark-seen","x-linode-grant":"read_write"},"x-linode-cli-command":"events"},"/account/invoices":{"get":{"description":"Returns a paginated list of Invoices against your Account.\n","operationId":"getInvoices","parameters":[{"$ref":"#/components/parameters/pageOffset"},{"$ref":"#/components/parameters/pageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Invoice"},"type":"array"},"page":{"$ref":"#/components/schemas/PaginationEnvelope/properties/page"},"pages":{"$ref":"#/components/schemas/PaginationEnvelope/properties/pages"},"results":{"$ref":"#/components/schemas/PaginationEnvelope/properties/results"}},"type":"object"}}},"description":"Returns a paginated list of Invoice objects."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_only"]}],"summary":"List Invoices","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/invoices\n"},{"lang":"CLI","source":"linode-cli account invoices-list\n"}],"x-linode-cli-action":"invoices-list","x-linode-grant":"read_only"},"x-linode-cli-command":"account"},"/account/invoices/{invoiceId}":{"get":{"description":"Returns a single Invoice object.","operationId":"getInvoice","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}},"description":"An Invoice object"},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_only"]}],"summary":"View Invoice","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/invoices/123\n"},{"lang":"CLI","source":"linode-cli account invoice-view 123\n"}],"x-linode-cli-action":"invoice-view","x-linode-grant":"read_only"},"parameters":[{"description":"The ID of the Invoice.","in":"path","name":"invoiceId","required":true,"schema":{"type":"integer"}}],"x-linode-cli-command":"account"},"/account/invoices/{invoiceId}/items":{"get":{"description":"Returns a paginated list of Invoice items.","operationId":"getInvoiceItems","parameters":[{"$ref":"#/components/parameters/pageOffset"},{"$ref":"#/components/parameters/pageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/InvoiceItem"},"type":"array"},"page":{"$ref":"#/components/schemas/PaginationEnvelope/properties/page"},"pages":{"$ref":"#/components/schemas/PaginationEnvelope/properties/pages"},"results":{"$ref":"#/components/schemas/PaginationEnvelope/properties/results"}},"type":"object"}}},"description":"A paginated list of InvoiceItem objects"},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_only"]}],"summary":"List Invoice Items","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/invoices/123/items\n"},{"lang":"CLI","source":"linode-cli account invoice-items 123\n"}],"x-linode-cli-action":"invoice-items","x-linode-grant":"read_only"},"parameters":[{"description":"The ID of the Invoice.","in":"path","name":"invoiceId","required":true,"schema":{"type":"integer"}}],"x-linode-cli-command":"account"},"/account/notifications":{"get":{"description":"Returns a collection of Notification objects representing important, often time-sensitive items related to your Account.\nYou cannot interact directly with Notifications, and a Notification will disappear when the circumstances causing it have been resolved. For example, if you have an important Ticket open, you must respond to the Ticket to dismiss the Notification.\n","operationId":"getNotifications","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Notification"},"type":"array"},"page":{"$ref":"#/components/schemas/PaginationEnvelope/properties/page"},"pages":{"$ref":"#/components/schemas/PaginationEnvelope/properties/pages"},"results":{"$ref":"#/components/schemas/PaginationEnvelope/properties/results"}},"type":"object"}}},"description":"Returns a paginated list of Notification objects."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_only"]}],"summary":"List Notifications","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/notifications\n"},{"lang":"CLI","source":"linode-cli account notifications-list\n"}],"x-linode-cli-action":"notifications-list","x-linode-grant":"read_only"},"x-linode-cli-command":"account"},"/account/oauth-clients":{"get":{"description":"Returns a paginated list of OAuth Clients registered to your Account. OAuth Clients allow users to log into applications you write or host using their Linode Account, and may allow them to grant some level of access to their Linodes or other entities to your application.\n","operationId":"getClients","parameters":[{"$ref":"#/components/parameters/pageOffset"},{"$ref":"#/components/parameters/pageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/OAuthClient"},"type":"array"},"page":{"$ref":"#/components/schemas/PaginationEnvelope/properties/page"},"pages":{"$ref":"#/components/schemas/PaginationEnvelope/properties/pages"},"results":{"$ref":"#/components/schemas/PaginationEnvelope/properties/results"}},"type":"object"}}},"description":"A paginated list of OAuth Clients."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_only"]}],"summary":"List OAuth Clients","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/oauth-clients\n"},{"lang":"CLI","source":"linode-cli account clients-list\n"}],"x-linode-cli-action":"clients-list","x-linode-grant":"read_only"},"post":{"description":"Creates an OAuth Client, which can be used to allow users (using their Linode account) to log in to your own application, and optionally grant your application some amount of access to their Linodes or other entities.\n","operationId":"createClient","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/OAuthClient"},{"properties":{"public":{"description":"Whether to create a public or private client.","example":false,"type":"boolean"}},"type":"object"}],"required":["label","redirect_uri"]}}},"description":"Information about the OAuth Client to create."},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthClient"}}},"description":"Client created successfully."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_write"]}],"summary":"Create OAuth Client","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"redirect_uri\": \"https://example.org/oauth/callback\",\n \"label\": \"Test_Client_1\",\n \"public\": false\n }' \\\n https://api.linode.com/v4/account/oauth-clients\n"},{"lang":"CLI","source":"linode-cli account client-create \\\n --label Test_Client_1 \\\n --redirect_uri https://example.org/callback\n"}],"x-linode-cli-action":"client-create"},"x-linode-cli-command":"account"},"/account/oauth-clients/{clientId}":{"delete":{"description":"Deletes an OAuth Client registered with Linode. The Client ID and Client secret will no longer be accepted by https://login.linode.com, and all tokens issued to this client will be invalidated (meaning that if your application was using a token, it will no longer work).\n","operationId":"deleteClient","responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Client deleted successfully."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_write"]}],"summary":"Delete OAuth Client","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c\n"},{"lang":"CLI","source":"linode-cli account client-delete \\\n edc6790ea9db4d224c5c\n"}],"x-linode-cli-action":"client-delete"},"get":{"description":"Returns information about a single OAuth client.\n","operationId":"getClient","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthClient"}}},"description":"Information about the requested client."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_only"]}],"summary":"View OAuth Client","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c\n"},{"lang":"CLI","source":"linode-cli account client-view \\\n edc6790ea9db4d224c5c\n"}],"x-linode-cli-action":"client-view"},"parameters":[{"description":"The OAuth Client ID to look up.","in":"path","name":"clientId","required":true,"schema":{"type":"string"}}],"put":{"description":"Update information about an OAuth Client on your Account. This can be especially useful to update the `redirect_uri` of your client in the event that the callback url changed in your application.\n","operationId":"updateClient","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthClient"}}},"description":"The fields to update."},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthClient"}}},"description":"Client updated successfully."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_write"]}],"summary":"Update OAuth Client","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"redirect_uri\": \"https://example.org/oauth/callback\",\n \"label\": \"Test_Client_1\"\n }\n }' \\\n https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c\n"},{"lang":"CLI","source":"linode-cli account client-update \\\n edc6790ea9db4d224c5c \\\n --label Test_Client_1\n"}],"x-linode-cli-action":"client-update"},"x-linode-cli-command":"account"},"/account/oauth-clients/{clientId}/reset-secret":{"parameters":[{"description":"The OAuth Client ID to look up.","in":"path","name":"clientId","required":true,"schema":{"type":"string"}}],"post":{"description":"Resets the OAuth Client secret for a client you own, and returns the OAuth Client with the plaintext secret. This secret is not supposed to be publicly known or disclosed anywhere. This can be used to generate a new secret in case the one you have has been leaked, or to get a new secret if you lost the original. The old secret is expired immediately, and logins to your client with the old secret will fail.\n","operationId":"resetClientSecret","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthClient"}}},"description":"Client secret reset successfully."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_write"]}],"summary":"Reset OAuth Client Secret","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST \\\n https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c/reset-secret\n"},{"lang":"CLI","source":"linode-cli account client-reset-secret \\\n edc6790ea9db4d224c5c\n"}],"x-linode-cli-action":"client-reset-secret"},"x-linode-cli-command":"account"},"/account/oauth-clients/{clientId}/thumbnail":{"get":{"description":"Returns the thumbnail for this OAuth Client. This is a publicly-viewable endpoint, and can be accessed without authentication.\n","operationId":"getClientThumbnail","responses":{"200":{"content":{"image/png":{"schema":{"format":"binary","type":"string"}}},"description":"The client's thumbnail."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"View OAuth Client Thumbnail","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c/thumbnail > thumbnail.png\n"}],"x-linode-cli-action":"client-thumbnail","x-linode-cli-skip":true},"parameters":[{"description":"The OAuth Client ID to look up.","in":"path","name":"clientId","required":true,"schema":{"type":"string"}}],"put":{"description":"Upload a thumbnail for a client you own. You must upload an image file that will be returned when the thumbnail is retrieved. This image will be publicly-viewable.\n","operationId":"setClientThumbnail","requestBody":{"content":{"image/png":{"schema":{"format":"binary","type":"string"}}},"description":"The image to set as the thumbnail.","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Thumbnail updated successfully."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_write"]}],"summary":"Update OAuth Client Thumbnail","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Content-Type: image/png\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT \\\n --data-binary \"/path/to/image\"\n https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c/thumbnail\n"}],"x-linode-cli-action":"update-client-thumbnail","x-linode-cli-skip":true},"x-linode-cli-command":"account"},"/account/payment/paypal/execute":{"post":{"description":"Given a PaymentID and PayerID - as generated by PayPal during the transaction authorization process - this endpoint executes the Payment to capture the funds and credit your Linode Account.\n","operationId":"executePayPalPayment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayPalExecute"}}},"description":"The details of the Payment to execute.\n","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"PayPal Payment executed."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_write"]}],"summary":"Execute Staged/Approved PayPal Payment","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"payment_id\": \"PAY-1234567890ABCDEFGHIJKLMN\",\n \"payer_id\": \"ABCDEFGHIJKLM\"\n }' \\\n https://api.linode.com/v4/account/payments/paypal\n"},{"lang":"CLI","source":"linode-cli account paypal-execute\n"}],"x-linode-cli-action":"paypal-execute","x-linode-grant":"read_write"},"x-linode-cli-command":"account"},"/account/payments":{"get":{"description":"Returns a paginated list of Payments made on this Account.\n","operationId":"getPayments","parameters":[{"$ref":"#/components/parameters/pageOffset"},{"$ref":"#/components/parameters/pageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Payment"},"type":"array"},"page":{"$ref":"#/components/schemas/PaginationEnvelope/properties/page"},"pages":{"$ref":"#/components/schemas/PaginationEnvelope/properties/pages"},"results":{"$ref":"#/components/schemas/PaginationEnvelope/properties/results"}},"type":"object"}}},"description":"Returns a paginated list of Payment objects."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_only"]}],"summary":"List Payments","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/payments\n"},{"lang":"CLI","source":"linode-cli account payments-list\n"}],"x-linode-cli-action":"payments-list","x-linode-grant":"read_only"},"post":{"description":"Makes a Payment to your Account via credit card. This will charge your credit card the requested amount.\n","operationId":"createPayment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequest"}}},"description":"Information about the Payment you are making.","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Payment"}}},"description":"Payment made."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_write"]}],"summary":"Make Payment","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"cvv\": \"123\",\n \"usd\": \"120.50\"\n }' \\\n https://api.linode.com/v4/account/payments\n"},{"lang":"CLI","source":"linode-cli account payment-create \\\n --cvv 123 \\\n --usd 120.50\n"}],"x-linode-cli-action":"payment-create","x-linode-grant":"read_write"},"x-linode-cli-command":"account"},"/account/payments/paypal":{"post":{"description":"This begins the process of submitting a Payment via PayPal. After calling this endpoint, you must take the resulting `payment_id` along with the `payer_id` from your PayPal account and [POST /account/payments/paypal-execute](#operation/executePayPalPayment) to complete the Payment.\n","operationId":"createPayPalPayment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayPal"}}},"description":"The amount of the Payment to submit via PayPal.\n","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"payment_id":{"description":"The paypal-generated ID for this Payment. Used when authorizing the Payment in PayPal's interface.\n","example":"PAY-1234567890ABCDEFGHIJKLMN","type":"string"}},"type":"object"}}},"description":"PayPal Payment staged."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_write"]}],"summary":"Stage PayPal Payment","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"usd\": \"120.50\",\n \"redirect_url\": \"https://example.org\",\n \"cancel_url\": \"https://example.org\"\n }' \\\n https://api.linode.com/v4/account/payments/paypal\n"},{"lang":"CLI","source":"linode-cli account paypal-start \\\n --cancel_url https://example.org \\\n --redirect_url https://example.org \\\n --usd 120.50\n"}],"x-linode-cli-action":"paypal-start","x-linode-grant":"read_only"},"x-linode-cli-command":"account"},"/account/payments/{paymentId}":{"get":{"description":"Returns information about a specific Payment.\n","operationId":"getPayment","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Payment"}}},"description":"A Payment object."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_only"]}],"summary":"View Payment","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/payments/123\n"},{"lang":"CLI","source":"linode-cli account payment-view 123\n"}],"x-linode-cli-action":"payment-view","x-linode-grant":"read_only"},"parameters":[{"description":"The ID of the Payment to look up.","in":"path","name":"paymentId","required":true,"schema":{"type":"integer"}}],"x-linode-cli-command":"account"},"/account/settings":{"get":{"description":"Returns information related to your Account settings: Managed service subscription, Longview subscription, and network helper.\n","operationId":"getAccountSettings","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountSettings"}}},"description":"Returns a single Account settings object."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_only"]}],"summary":"View Account Settings","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/settings\n"},{"lang":"CLI","source":"linode-cli account settings\n"}],"x-linode-cli-action":"settings","x-linode-grant":"read_only"},"put":{"description":"Updates your Account settings.\n","operationId":"updateAccountSettings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountSettings"}}},"description":"Update Account settings information.","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountSettings"}}},"description":"The updated Account settings."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_write"]}],"summary":"Update Account Settings","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"network_helper\": true,\n \"longview_subscription\": \"longview-10\"\n }' \\\n https://api.linode.com/v4/account/settings\n"},{"lang":"CLI","source":"linode-cli account settings-update \\\n --longview_subscription longview-30 \\\n --network_helper false\n"}],"x-linode-cli-action":"settings-update","x-linode-grant":"read_write"},"x-linode-cli-command":"account"},"/account/transfer":{"get":{"description":"Returns a Transfer object showing your network utilization, in GB, for the current month.\n","operationId":"getTransfer","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transfer"}}},"description":"Returns a single Transfer object."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_only"]}],"summary":"View Network Utilization","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/transfer\n"},{"lang":"CLI","source":"linode-cli account transfer\n"}],"x-linode-cli-action":"transfer","x-linode-grant":"read_only"},"x-linode-cli-command":"account"},"/account/users":{"get":{"description":"Returns a paginated list of Users on your Account. Users may access all or part of your Account based on their restricted status and grants. An unrestricted User may access everything on the account, whereas restricted User may only access entities or perform actions they've been given specific grants to.\n","operationId":"getUsers","parameters":[{"$ref":"#/components/parameters/pageOffset"},{"$ref":"#/components/parameters/pageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/User"},"type":"array"},"page":{"$ref":"#/components/schemas/PaginationEnvelope/properties/page"},"pages":{"$ref":"#/components/schemas/PaginationEnvelope/properties/pages"},"results":{"$ref":"#/components/schemas/PaginationEnvelope/properties/results"}},"type":"object"}}},"description":"A paginated list of Users."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_only"]}],"summary":"List Users","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/users\n"},{"lang":"CLI","source":"linode-cli users list\n"}],"x-linode-cli-action":"list","x-linode-grant":"unrestricted only"},"post":{"description":"Creates a User on your Account. Once created, the User will be able to log in and access portions of your Account. Access is determined by whether or not they are restricted, and what grants they have been given.\n","operationId":"createUser","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"The new User's email address.\n","example":"example_user@linode.com","format":"email","type":"string"},"restricted":{"description":"If true, the new User must be granted access to perform actions or access entities on this Account. See [/account/users/{username}/grants](#operation/getUserGrants) for details on how to configure grants for a restricted User.\n","example":true,"type":"boolean"},"username":{"description":"The new User's username. This is used for logging in, and may also be displayed alongside actions the User performs (for example, in Events or public StackScripts).\n","example":"example_user","maxLength":32,"minLength":3,"pattern":"^[a-zA-Z0-9]((?![_-]{2,})[a-zA-Z0-9-_])+[a-zA-Z0-9]$","type":"string"}},"required":["username","email"]}}},"description":"Information about the User to create."},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}},"description":"New User created successfully."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_write"]}],"summary":"Create User","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"username\": \"example_user\",\n \"email\": \"person@place.com\",\n \"restricted\": true\n }' \\\n https://api.linode.com/v4/account/users\n"},{"lang":"CLI","source":"linode-cli users create \\\n --username example_user \\\n --email example_user@linode.com\n"}],"x-linode-cli-action":"create","x-linode-grant":"unrestricted only"},"x-linode-cli-command":"users"},"/account/users/{username}":{"delete":{"description":"Deletes a User. The deleted User will be immediately logged out and may no longer log in or perform any actions. All of the User's Grants will be removed.\n","operationId":"deleteUser","responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"User deleted successfully."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_write"]}],"summary":"Delete User","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/account/users/example_user\n"},{"lang":"CLI","source":"linode-cli users delete example_user\n"}],"x-linode-cli-action":"delete","x-linode-grant":"unrestricted only"},"get":{"description":"Returns information about a single User on your Account.\n","operationId":"getUser","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}},"description":"The requested User object"},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_only"]}],"summary":"View User","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/users/example_user\n"},{"lang":"CLI","source":"linode-cli users view example_user\n"}],"x-linode-cli-action":"view","x-linode-grant":"unrestricted only"},"parameters":[{"description":"The username to look up.","in":"path","name":"username","required":true,"schema":{"type":"string"}}],"put":{"description":"Update information about a User on your Account. This can be used to change the restricted status of a User. When making a User restricted, no grants will be configured by default and you must then set up grants in order for the User to access anything on the Account.\n","operationId":"updateUser","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}},"description":"The information to update."},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}},"description":"User updated successfully."},"default":{"$ref":"#/components/responses/ErrorResponse"}},"security":[{"personalAccessToken":[]},{"oauth":["account:read_write"]}],"summary":"Update User","tags":["Account"],"x-code-samples":[{"lang":"Shell","source":"curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"username\": example_user\n \"restricted\": true\n }' \\\n https://api.linode.com/v4/account/users/example_user\n"},{"lang":"CLI","source":"linode-cli users update example_user \\\n --username example_user \\\n --restricted true\n"}],"x-linode-cli-action":"update","x-linode-grant":"unrestricted only"},"x-linode-cli-command":"users"},"/account/users/{username}/grants":{"get":{"description":"Returns the full grants structure for this User. This includes all entities on the Account alongside what level of access this User has to each of them. Individual users may view their own grants at the [/profile/grants](#operation/getProfileGrants) endpoint, but will not see entities that they have no access to.\n","operationId":"getUserGrants","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantsResponse"}}},"description":"The User's grants."},"204":{"description":"This is an unrestricted User, and therefore has no grants to return. This User may access everything on the Account and perform all actio