openapi: 3.1.0 info: title: Linode API v4 Account StackScripts API description: The Linode API v4 provides programmatic access to the full range of Akamai Connected Cloud (formerly Linode) products and services. It enables developers to create and manage compute instances, deploy Kubernetes clusters, configure NodeBalancers, manage DNS domains, provision Block Storage volumes, control Object Storage buckets, set up firewalls, and administer account settings. The RESTful API uses OAuth and personal access tokens for authentication and returns JSON responses, with support for filtering and sorting across all resource endpoints. version: 4.189.0 contact: name: Linode Support url: https://www.linode.com/support/ termsOfService: https://www.linode.com/legal-tos/ servers: - url: https://api.linode.com/v4 description: Production Server security: - personalAccessToken: [] - oauth: [] tags: - name: StackScripts description: Create and manage StackScripts for automating the deployment and configuration of Linode instances. paths: /linode/stackscripts: get: operationId: getStackScripts summary: List StackScripts description: Returns a paginated list of StackScripts accessible to your account, including both your own and community StackScripts. tags: - StackScripts parameters: - $ref: '#/components/parameters/pageParam' - $ref: '#/components/parameters/pageSizeParam' responses: '200': description: StackScripts retrieved successfully content: application/json: schema: $ref: '#/components/schemas/PaginatedStackScriptList' '401': description: Unauthorized - invalid or missing authentication post: operationId: createStackScript summary: Create a StackScript description: Creates a new StackScript for automating the deployment and configuration of Linode instances. tags: - StackScripts requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/StackScriptRequest' responses: '200': description: StackScript created successfully content: application/json: schema: $ref: '#/components/schemas/StackScript' '400': description: Bad request - invalid parameters '401': description: Unauthorized - invalid or missing authentication /linode/stackscripts/{stackscriptId}: get: operationId: getStackScript summary: Get a StackScript description: Returns the details for a single StackScript. tags: - StackScripts parameters: - $ref: '#/components/parameters/stackscriptIdParam' responses: '200': description: StackScript retrieved successfully content: application/json: schema: $ref: '#/components/schemas/StackScript' '401': description: Unauthorized - invalid or missing authentication '404': description: StackScript not found put: operationId: updateStackScript summary: Update a StackScript description: Updates the properties of a StackScript. tags: - StackScripts parameters: - $ref: '#/components/parameters/stackscriptIdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/StackScriptRequest' responses: '200': description: StackScript updated successfully content: application/json: schema: $ref: '#/components/schemas/StackScript' '400': description: Bad request - invalid parameters '401': description: Unauthorized - invalid or missing authentication '404': description: StackScript not found delete: operationId: deleteStackScript summary: Delete a StackScript description: Deletes a StackScript from your account. tags: - StackScripts parameters: - $ref: '#/components/parameters/stackscriptIdParam' responses: '200': description: StackScript deleted successfully '401': description: Unauthorized - invalid or missing authentication '404': description: StackScript not found components: schemas: StackScript: type: object properties: id: type: integer description: The unique ID of this StackScript. username: type: string description: The username of the creator. label: type: string description: The label for this StackScript. description: type: string description: A description of this StackScript. images: type: array items: type: string description: Compatible image IDs. script: type: string description: The script content. rev_note: type: string description: A revision note. is_public: type: boolean description: Whether this StackScript is publicly available. deployments_active: type: integer description: The number of active deployments. deployments_total: type: integer description: The total number of deployments. created: type: string format: date-time description: When this StackScript was created. updated: type: string format: date-time description: When this StackScript was last updated. StackScriptRequest: type: object required: - label - images - script properties: label: type: string minLength: 3 maxLength: 128 description: The label for the StackScript. description: type: string description: A description of the StackScript. images: type: array items: type: string description: Compatible image IDs. script: type: string description: The script content. rev_note: type: string maxLength: 512 description: A revision note. is_public: type: boolean description: Whether to make the StackScript public. PaginatedStackScriptList: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: data: type: array items: $ref: '#/components/schemas/StackScript' Pagination: type: object properties: page: type: integer description: The current page number. pages: type: integer description: The total number of pages. results: type: integer description: The total number of results. parameters: pageParam: name: page in: query schema: type: integer minimum: 1 default: 1 description: The page number to return. pageSizeParam: name: page_size in: query schema: type: integer minimum: 25 maximum: 500 default: 100 description: The number of items per page. stackscriptIdParam: name: stackscriptId in: path required: true schema: type: integer description: The ID of the StackScript. securitySchemes: personalAccessToken: type: http scheme: bearer description: A personal access token generated from the Linode Cloud Manager that grants access to the API based on the token's scopes. oauth: type: oauth2 description: OAuth 2.0 authentication for third-party applications. flows: authorizationCode: authorizationUrl: https://login.linode.com/oauth/authorize tokenUrl: https://login.linode.com/oauth/token scopes: account:read_only: Read access to account information account:read_write: Read and write access to account information domains:read_only: Read access to domains domains:read_write: Read and write access to domains events:read_only: Read access to events events:read_write: Read and write access to events firewall:read_only: Read access to firewalls firewall:read_write: Read and write access to firewalls images:read_only: Read access to images images:read_write: Read and write access to images ips:read_only: Read access to IP addresses ips:read_write: Read and write access to IP addresses linodes:read_only: Read access to Linodes linodes:read_write: Read and write access to Linodes lke:read_only: Read access to LKE lke:read_write: Read and write access to LKE longview:read_only: Read access to Longview longview:read_write: Read and write access to Longview nodebalancers:read_only: Read access to NodeBalancers nodebalancers:read_write: Read and write access to NodeBalancers object_storage:read_only: Read access to Object Storage object_storage:read_write: Read and write access to Object Storage stackscripts:read_only: Read access to StackScripts stackscripts:read_write: Read and write access to StackScripts volumes:read_only: Read access to Volumes volumes:read_write: Read and write access to Volumes vpc:read_only: Read access to VPCs vpc:read_write: Read and write access to VPCs externalDocs: description: Linode API v4 Documentation url: https://techdocs.akamai.com/linode-api/reference/api