Aptible Permissions API
The Permissions API from Aptible — 3 operation(s) for permissions.
The Permissions API from Aptible — 3 operation(s) for permissions.
openapi: 3.2.0
info:
contact:
email: support@aptible.com
description: REST API for the core Aptible platform.
title: Aptible API v1 Permissions API
version: v1
servers:
- url: '{baseUrl}'
variables:
baseUrl:
default: https://api.aptible.com
description: Override for local or test environments
security:
- token: []
tags:
- name: Permissions
paths:
/accounts/{account_id}/permissions:
get:
description: Returns a paginated list of permissions for the specified account.
operationId: ListPermissionsForAccount
parameters:
- description: account_id
explode: false
in: path
name: account_id
required: true
schema:
type: integer
style: simple
- description: Current page of paginated results
explode: true
in: query
name: page
required: false
schema:
type: integer
style: form
- description: Number of results to return per page
explode: true
in: query
name: per_page
required: false
schema:
type: integer
style: form
- description: 'When true, omits embedded resources from the response. Also triggered when the Prefer: no_sensitive_extras=true header is present.'
explode: true
in: query
name: no_embed
required: false
schema:
type: boolean
style: form
- description: When set to no_sensitive_extras=true, omits sensitive fields and embedded resources from the response.
explode: false
in: header
name: Prefer
required: false
schema:
enum:
- no_sensitive_extras=true
type: string
style: simple
responses:
'200':
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ListPermissionsForAccount_200_response'
description: successful
default:
content:
application/hal+json:
schema:
$ref: '#/components/schemas/error'
description: Error response. Often a 4xx or 5xx status code
summary: list permissions
tags:
- Permissions
post:
description: Creates a new permission for a role on the specified account.
operationId: CreatePermission
parameters:
- description: account_id
explode: false
in: path
name: account_id
required: true
schema:
type: integer
style: simple
- description: 'When true, omits embedded resources from the response. Also triggered when the Prefer: no_sensitive_extras=true header is present.'
explode: true
in: query
name: no_embed
required: false
schema:
type: boolean
style: form
- description: When set to no_sensitive_extras=true, omits sensitive fields and embedded resources from the response.
explode: false
in: header
name: Prefer
required: false
schema:
enum:
- no_sensitive_extras=true
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePermission_request'
responses:
'201':
content:
application/hal+json:
schema:
$ref: '#/components/schemas/permission'
description: successful
default:
content:
application/hal+json:
schema:
$ref: '#/components/schemas/error'
description: Error response. Often a 4xx or 5xx status code
summary: create permission
tags:
- Permissions
/permissions:
get:
description: Returns a paginated list of all permissions.
operationId: ListPermissions
parameters:
- description: Current page of paginated results
explode: true
in: query
name: page
required: false
schema:
type: integer
style: form
- description: Number of results to return per page
explode: true
in: query
name: per_page
required: false
schema:
type: integer
style: form
- description: 'When true, omits embedded resources from the response. Also triggered when the Prefer: no_sensitive_extras=true header is present.'
explode: true
in: query
name: no_embed
required: false
schema:
type: boolean
style: form
- description: When set to no_sensitive_extras=true, omits sensitive fields and embedded resources from the response.
explode: false
in: header
name: Prefer
required: false
schema:
enum:
- no_sensitive_extras=true
type: string
style: simple
responses:
'200':
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ListPermissionsForAccount_200_response'
description: successful
default:
content:
application/hal+json:
schema:
$ref: '#/components/schemas/error'
description: Error response. Often a 4xx or 5xx status code
summary: list permissions
tags:
- Permissions
/permissions/{id}:
delete:
description: Deletes a permission by ID.
operationId: DeletePermission
parameters:
- description: id
explode: false
in: path
name: id
required: true
schema:
type: integer
style: simple
responses:
'204':
description: successful
default:
content:
application/hal+json:
schema:
$ref: '#/components/schemas/error'
description: Error response. Often a 4xx or 5xx status code
summary: delete permission
tags:
- Permissions
get:
description: Returns the details of a specific permission by ID.
operationId: GetPermission
parameters:
- description: id
explode: false
in: path
name: id
required: true
schema:
type: integer
style: simple
- description: 'When true, omits embedded resources from the response. Also triggered when the Prefer: no_sensitive_extras=true header is present.'
explode: true
in: query
name: no_embed
required: false
schema:
type: boolean
style: form
- description: When set to no_sensitive_extras=true, omits sensitive fields and embedded resources from the response.
explode: false
in: header
name: Prefer
required: false
schema:
enum:
- no_sensitive_extras=true
type: string
style: simple
responses:
'200':
content:
application/hal+json:
schema:
$ref: '#/components/schemas/permission'
description: successful
default:
content:
application/hal+json:
schema:
$ref: '#/components/schemas/error'
description: Error response. Often a 4xx or 5xx status code
summary: show permission
tags:
- Permissions
components:
schemas:
error:
properties:
code:
type: integer
error:
type: string
message:
type: string
required:
- code
- error
- message
type: object
ListPermissionsForAccount_200_response__embedded:
properties:
permissions:
items:
$ref: '#/components/schemas/permission'
type: array
type: object
ListActivityReportsForAccount_200_response__links:
properties:
account:
$ref: '#/components/schemas/ListAccountsForStack_200_response__links_stack'
next:
$ref: '#/components/schemas/ListAccountsForStack_200_response__links_stack'
prev:
$ref: '#/components/schemas/ListAccountsForStack_200_response__links_stack'
self:
$ref: '#/components/schemas/ListAccountsForStack_200_response__links_stack'
type: object
permission:
properties:
id:
type: integer
_type:
type: string
scope:
type: string
_links:
$ref: '#/components/schemas/permission__links'
required:
- _type
- id
- scope
CreatePermission_request:
properties:
role:
format: uuid
type: string
scope:
enum:
- read
- admin
- observability
- deploy
- sensitive
- tunnel
- destroy
type: string
required:
- role
- scope
type: object
permission__links:
properties:
role:
$ref: '#/components/schemas/ListAccountsForStack_200_response__links_stack'
account:
$ref: '#/components/schemas/ListAccountsForStack_200_response__links_stack'
self:
$ref: '#/components/schemas/ListAccountsForStack_200_response__links_stack'
type: object
ListAccountsForStack_200_response__links_stack:
properties:
href:
format: uri
type: string
type: object
ListPermissionsForAccount_200_response:
properties:
_embedded:
$ref: '#/components/schemas/ListPermissionsForAccount_200_response__embedded'
total_count:
type: integer
per_page:
type: integer
current_page:
type: integer
_links:
$ref: '#/components/schemas/ListActivityReportsForAccount_200_response__links'
required:
- _embedded
- _links
- current_page
- per_page
- total_count
type: object
securitySchemes:
token:
in: header
name: Authorization
type: apiKey