Scalr Teams API

The Teams API from Scalr — 2 operation(s) for teams.

OpenAPI Specification

scalr-teams-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: Manage Roles, Images, Environments and etc.
  title: Scalr Account Acl Roles Teams API
  version: 1.0.0
basePath: /api/v1beta0/account
produces:
- application/json
tags:
- name: Teams
paths:
  /{accountId}/teams/:
    parameters:
    - description: The ID of the Account scoping this request.
      in: path
      name: accountId
      required: true
      type: integer
    get:
      description: List all the Teams in this account.
      responses:
        200:
          description: A list of Team objects.
          schema:
            $ref: '#/definitions/TeamListResponse'
        400:
          description: A client-side error was made.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: The request was structurally incorrect, and was not understood by the API.
            name: InvalidStructure
          - description: The request was understood by the API, but included invalid data.
            name: InvalidValue
          - description: The request wasn't understood by the API.
            name: BadRequest
        401:
          description: The request was not authenticated.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: The request was not properly authenticated.
            name: BadAuthentication
        403:
          description: Insufficient permissions.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: This request should be made in a different Scope.
            name: ScopeViolation
          - description: You do not have the necessary permissions to perform this request.
            name: PermissionViolation
          - description: The maximum memory limit in GB has been reached.
            name: MemoryQuotaExceeded
          - description: The vCPUs limit has been reached.
            name: VcpusQuotaExceeded
          - description: The maximum number of the Servers that you can launch or resume has been reached.
            name: ServersQuotaExceeded
          - description: The maximum number of the Servers that you can launch or resume on current Farm has been reached.
            name: ServersPerFarmQuotaExceeded
        404:
          description: Resource not found.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: This endpoint does not exist.
            name: EndpointNotFound
            noDoc: true
          - description: The object you are trying to access does not exist.
            name: ObjectNotFound
        409:
          description: Conflict with current state.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: These changes aren't possible while this object is in use.
            name: ObjectInUse
          - description: These changes would violate a policy.
            name: PolicyViolation
          - description: These changes would violate a unicity constraint.
            name: UnicityViolation
          - description: Some of the objects being changed are locked and cannot be changed.
            name: Locked
          - description: This Cloud platform is not enabled.
            name: NotEnabledPlatform
          - description: The Operating System does not match.
            name: OperatingSystemMismatch
          - description: Some of these settings cannot be applied, they either conflict with the current state or are invalid.
            name: UnacceptableObjectConfiguration
        422:
          description: This request was well-formed but was rejected due to semantic errors.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: Some of the configuration settings cannot be applied because they conflict with the current state.
            name: ConfigurationMismatch
        500:
          description: A server-side error occurred.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
        501:
          description: This feature is not implemented in Scalr.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
        503:
          description: The service is currently unavailable.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
      tags:
      - Teams
    post:
      description: Creates a new Team in the Account.
      parameters:
      - description: The JSON representation of a Team object.
        in: body
        name: teamObject
        required: true
        schema:
          $ref: '#/definitions/Team'
      responses:
        201:
          description: The JSON representation of a Team object.
          schema:
            $ref: '#/definitions/TeamDetailsResponse'
        400:
          description: A client-side error was made.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: The request was structurally incorrect, and was not understood by the API.
            name: InvalidStructure
          - description: The request was understood by the API, but included invalid data.
            name: InvalidValue
          - description: The request wasn't understood by the API.
            name: BadRequest
        401:
          description: The request was not authenticated.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: The request was not properly authenticated.
            name: BadAuthentication
        403:
          description: Insufficient permissions.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: This request should be made in a different Scope.
            name: ScopeViolation
          - description: You do not have the necessary permissions to perform this request.
            name: PermissionViolation
          - description: The maximum memory limit in GB has been reached.
            name: MemoryQuotaExceeded
          - description: The vCPUs limit has been reached.
            name: VcpusQuotaExceeded
          - description: The maximum number of the Servers that you can launch or resume has been reached.
            name: ServersQuotaExceeded
          - description: The maximum number of the Servers that you can launch or resume on current Farm has been reached.
            name: ServersPerFarmQuotaExceeded
        404:
          description: Resource not found.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: This endpoint does not exist.
            name: EndpointNotFound
            noDoc: true
          - description: The object you are trying to access does not exist.
            name: ObjectNotFound
        409:
          description: Conflict with current state.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: These changes aren't possible while this object is in use.
            name: ObjectInUse
          - description: These changes would violate a policy.
            name: PolicyViolation
          - description: These changes would violate a unicity constraint.
            name: UnicityViolation
          - description: Some of the objects being changed are locked and cannot be changed.
            name: Locked
          - description: This Cloud platform is not enabled.
            name: NotEnabledPlatform
          - description: The Operating System does not match.
            name: OperatingSystemMismatch
          - description: Some of these settings cannot be applied, they either conflict with the current state or are invalid.
            name: UnacceptableObjectConfiguration
        422:
          description: This request was well-formed but was rejected due to semantic errors.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: Some of the configuration settings cannot be applied because they conflict with the current state.
            name: ConfigurationMismatch
        500:
          description: A server-side error occurred.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
        501:
          description: This feature is not implemented in Scalr.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
        503:
          description: The service is currently unavailable.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
      tags:
      - Teams
  /{accountId}/teams/{teamId}/:
    parameters:
    - description: The ID of the Account scoping this request.
      in: path
      name: accountId
      required: true
      type: integer
    - description: The ID of a Team object.
      in: path
      name: teamId
      required: true
      type: integer
      x-references:
        $ref: '#/definitions/Team'
    delete:
      description: Delete a Team from this Account.
      responses:
        204:
          description: Successful deletion.
        400:
          description: A client-side error was made.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: The request was structurally incorrect, and was not understood by the API.
            name: InvalidStructure
          - description: The request was understood by the API, but included invalid data.
            name: InvalidValue
          - description: The request wasn't understood by the API.
            name: BadRequest
        401:
          description: The request was not authenticated.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: The request was not properly authenticated.
            name: BadAuthentication
        403:
          description: Insufficient permissions.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: This request should be made in a different Scope.
            name: ScopeViolation
          - description: You do not have the necessary permissions to perform this request.
            name: PermissionViolation
          - description: The maximum memory limit in GB has been reached.
            name: MemoryQuotaExceeded
          - description: The vCPUs limit has been reached.
            name: VcpusQuotaExceeded
          - description: The maximum number of the Servers that you can launch or resume has been reached.
            name: ServersQuotaExceeded
          - description: The maximum number of the Servers that you can launch or resume on current Farm has been reached.
            name: ServersPerFarmQuotaExceeded
        404:
          description: Resource not found.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: This endpoint does not exist.
            name: EndpointNotFound
            noDoc: true
          - description: The object you are trying to access does not exist.
            name: ObjectNotFound
        409:
          description: Conflict with current state.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: These changes aren't possible while this object is in use.
            name: ObjectInUse
          - description: These changes would violate a policy.
            name: PolicyViolation
          - description: These changes would violate a unicity constraint.
            name: UnicityViolation
          - description: Some of the objects being changed are locked and cannot be changed.
            name: Locked
          - description: This Cloud platform is not enabled.
            name: NotEnabledPlatform
          - description: The Operating System does not match.
            name: OperatingSystemMismatch
          - description: Some of these settings cannot be applied, they either conflict with the current state or are invalid.
            name: UnacceptableObjectConfiguration
        422:
          description: This request was well-formed but was rejected due to semantic errors.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: Some of the configuration settings cannot be applied because they conflict with the current state.
            name: ConfigurationMismatch
        500:
          description: A server-side error occurred.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
        501:
          description: This feature is not implemented in Scalr.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
        503:
          description: The service is currently unavailable.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
      tags:
      - Teams
    get:
      description: Retrieve detailed information about a given Team.
      responses:
        200:
          description: The JSON representation of a Team object.
          schema:
            $ref: '#/definitions/TeamDetailsResponse'
        400:
          description: A client-side error was made.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: The request was structurally incorrect, and was not understood by the API.
            name: InvalidStructure
          - description: The request was understood by the API, but included invalid data.
            name: InvalidValue
          - description: The request wasn't understood by the API.
            name: BadRequest
        401:
          description: The request was not authenticated.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: The request was not properly authenticated.
            name: BadAuthentication
        403:
          description: Insufficient permissions.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: This request should be made in a different Scope.
            name: ScopeViolation
          - description: You do not have the necessary permissions to perform this request.
            name: PermissionViolation
          - description: The maximum memory limit in GB has been reached.
            name: MemoryQuotaExceeded
          - description: The vCPUs limit has been reached.
            name: VcpusQuotaExceeded
          - description: The maximum number of the Servers that you can launch or resume has been reached.
            name: ServersQuotaExceeded
          - description: The maximum number of the Servers that you can launch or resume on current Farm has been reached.
            name: ServersPerFarmQuotaExceeded
        404:
          description: Resource not found.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: This endpoint does not exist.
            name: EndpointNotFound
            noDoc: true
          - description: The object you are trying to access does not exist.
            name: ObjectNotFound
        409:
          description: Conflict with current state.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: These changes aren't possible while this object is in use.
            name: ObjectInUse
          - description: These changes would violate a policy.
            name: PolicyViolation
          - description: These changes would violate a unicity constraint.
            name: UnicityViolation
          - description: Some of the objects being changed are locked and cannot be changed.
            name: Locked
          - description: This Cloud platform is not enabled.
            name: NotEnabledPlatform
          - description: The Operating System does not match.
            name: OperatingSystemMismatch
          - description: Some of these settings cannot be applied, they either conflict with the current state or are invalid.
            name: UnacceptableObjectConfiguration
        422:
          description: This request was well-formed but was rejected due to semantic errors.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: Some of the configuration settings cannot be applied because they conflict with the current state.
            name: ConfigurationMismatch
        500:
          description: A server-side error occurred.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
        501:
          description: This feature is not implemented in Scalr.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
        503:
          description: The service is currently unavailable.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
      tags:
      - Teams
    patch:
      description: Update the attributes of the specified Team.
      parameters:
      - description: The JSON representation of a Team object.
        in: body
        name: teamObject
        required: true
        schema:
          $ref: '#/definitions/Team'
      responses:
        200:
          description: The JSON representation of a Team object.
          schema:
            $ref: '#/definitions/TeamDetailsResponse'
        400:
          description: A client-side error was made.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: The request was structurally incorrect, and was not understood by the API.
            name: InvalidStructure
          - description: The request was understood by the API, but included invalid data.
            name: InvalidValue
          - description: The request wasn't understood by the API.
            name: BadRequest
        401:
          description: The request was not authenticated.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: The request was not properly authenticated.
            name: BadAuthentication
        403:
          description: Insufficient permissions.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: This request should be made in a different Scope.
            name: ScopeViolation
          - description: You do not have the necessary permissions to perform this request.
            name: PermissionViolation
          - description: The maximum memory limit in GB has been reached.
            name: MemoryQuotaExceeded
          - description: The vCPUs limit has been reached.
            name: VcpusQuotaExceeded
          - description: The maximum number of the Servers that you can launch or resume has been reached.
            name: ServersQuotaExceeded
          - description: The maximum number of the Servers that you can launch or resume on current Farm has been reached.
            name: ServersPerFarmQuotaExceeded
        404:
          description: Resource not found.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: This endpoint does not exist.
            name: EndpointNotFound
            noDoc: true
          - description: The object you are trying to access does not exist.
            name: ObjectNotFound
        409:
          description: Conflict with current state.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: These changes aren't possible while this object is in use.
            name: ObjectInUse
          - description: These changes would violate a policy.
            name: PolicyViolation
          - description: These changes would violate a unicity constraint.
            name: UnicityViolation
          - description: Some of the objects being changed are locked and cannot be changed.
            name: Locked
          - description: This Cloud platform is not enabled.
            name: NotEnabledPlatform
          - description: The Operating System does not match.
            name: OperatingSystemMismatch
          - description: Some of these settings cannot be applied, they either conflict with the current state or are invalid.
            name: UnacceptableObjectConfiguration
        422:
          description: This request was well-formed but was rejected due to semantic errors.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
          x-errorCodes:
          - description: Some of the configuration settings cannot be applied because they conflict with the current state.
            name: ConfigurationMismatch
        500:
          description: A server-side error occurred.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
        501:
          description: This feature is not implemented in Scalr.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
        503:
          description: The service is currently unavailable.
          schema:
            $ref: '#/definitions/ApiErrorResponse'
      tags:
      - Teams
definitions:
  ApiErrorResponse:
    description: Common response for erroneous requests.
    properties:
      errors:
        items:
          $ref: '#/definitions/ApiMessage'
        readOnly: true
        type: array
      meta:
        $ref: '#/definitions/ApiMetaContainer'
        readOnly: true
      warnings:
        items:
          $ref: '#/definitions/ApiMessage'
        readOnly: true
        type: array
    x-usedIn:
    - /account/{accountId}/global-variables/
    - /account/{accountId}/global-variables/{globalVariableName}/
    - /account/{accountId}/orchestration-rules/
    - /account/{accountId}/orchestration-rules/{orchestrationRuleId}/
    - /account/{accountId}/cost-centers/
    - /account/{accountId}/cost-centers/{costCenterId}/
    - /account/{accountId}/environments/
    - /account/{accountId}/environments/{envId}/
    - /account/{accountId}/environments/{envId}/clouds/
    - /account/{accountId}/environments/{envId}/clouds/{cloud}/
    - /account/{accountId}/environments/{envId}/teams/
    - /account/{accountId}/environments/{envId}/teams/{teamId}/
    - /account/{accountId}/teams/
    - /account/{accountId}/teams/{teamId}/
    - /account/{accountId}/acl-roles/
    - /account/{accountId}/role-categories/
    - /account/{accountId}/role-categories/{roleCategoryId}/
    - /account/{accountId}/roles/
    - /account/{accountId}/roles/{roleId}/
    - /account/{accountId}/roles/{roleId}/actions/clone/
    - /account/{accountId}/roles/{roleId}/actions/deprecate/
    - /account/{accountId}/roles/{roleId}/images/
    - /account/{accountId}/roles/{roleId}/images/{imageId}/
    - /account/{accountId}/roles/{roleId}/images/{imageId}/actions/replace/
    - /account/{accountId}/roles/{roleId}/global-variables/
    - /account/{accountId}/roles/{roleId}/global-variables/{globalVariableName}/
    - /account/{accountId}/roles/{roleId}/orchestration-rules/
    - /account/{accountId}/roles/{roleId}/orchestration-rules/{orchestrationRuleId}/
    - /account/{accountId}/images/
    - /account/{accountId}/images/{imageId}/
    - /account/{accountId}/images/{imageId}/actions/copy/
    - /account/{accountId}/images/{imageId}/actions/replace/
    - /account/{accountId}/projects/
    - /account/{accountId}/projects/{projectId}/
    - /account/{accountId}/scripts/
    - /account/{accountId}/scripts/{scriptId}/
    - /account/{accountId}/scripts/{scriptId}/script-versions/
    - /account/{accountId}/scripts/{scriptId}/script-versions/{scriptVersionNumber}/
    - /account/{accountId}/webhook-endpoints/
    - /account/{accountId}/os/
    - /account/{accountId}/os/{osId}/
    - /account/{accountId}/events/
    - /account/{accountId}/events/{eventId}/
    - /account/{accountId}/cloud-credentials/
    - /account/{accountId}/cloud-credentials/{cloudCredentialsId}/
    - /account/{accountId}/scaling-metrics/
    - /account/{accountId}/scaling-metrics/{metricName}/
    - /account/{accountId}/users/
    - /account/{accountId}/ansible-tower/servers/
    - /account/{accountId}/ansible-tower/configurations/
    - /account/{accountId}/ansible-tower/configurations/{ansibleTowerConfigurationId}/
  ApiMessage:
    properties:
      code:
        description: A machine-readable representation of the message.
        type: string
      message:
        description: A human-readable representation of the message.
        type: string
  Team:
    properties:
      defaultAclRole:
        $ref: '#/definitions/AclRoleForeignKey'
        description: Default ACL Role for the Team. This ACL Role is applied by default to all the members of the Team, but it can be overridden for specific users.
      description:
        description: Description of the Team.
        type: string
      id:
        description: Identifier of the Team.
        readOnly: true
        type: integer
      name:
        description: Name of the Team.
        type: string
    required:
    - defaultAclRole
    - name
    x-filterable:
    - id
    - name
    - defaultAclRole
    x-usedIn:
    - /account/{accountId}/environments/{envId}/teams/{teamId}/
    - /account/{accountId}/teams/
    - /account/{accountId}/teams/{teamId}/
  ApiMetaContainer:
    properties:
      sample:
        description: Actual properties TBD.
        type: string
  AclRole:
    properties:
      baseRole:
        description: Base ACL Role to override.
        enum:
        - no-access
        - full-access
        - read-only
        type: string
      id:
        description: Unique identifier for this ACL Role object.
        maxLength: 20
        minLength: 20
        pattern: '[A-Fa-f0-9]+'
        readOnly: true
        type: string
      name:
        description: Name of this ACL Role.
        type: string
    required:
    - name
    x-createOnly:
    - baseRole
    x-filterable:
    - id
    - name
    - baseRole
  TeamListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/Team'
        readOnly: true
        type: array
      errors:
        items:
          $ref: '#/definitions/ApiMessage'
        readOnly: true
        type: array
      meta:
        $ref: '#/definitions/ApiMetaContainer'
        readOnly: true
      pagination:
        $ref: '#/definitions/ApiPagination'
        readOnly: true
      warnings:
        items:
          $ref: '#/definitions/ApiMessage'
        readOnly: true
        type: array
    x-derived:
      $ref: '#/definitions/Team'
    x-usedIn:
    - /account/{accountId}/teams/
  ApiPagination:
    properties:
      first:
        readOnly: true
        type: string
      last:
        readOnly: true
        type: string
      next:
        readOnly: true
        type: string
      prev:
        readOnly: true
        type: string
  TeamDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/Team'
        readOnly: true
      errors:
        items:
          $ref: '#/definitions/ApiMessage'
        readOnly: true
        type: array
      meta:
        $ref: '#/definitions/ApiMetaContainer'
        readOnly: true
      warnings:
        items:
          $ref: '#/definitions/ApiMessage'
        readOnly: true
        type: array
    x-derived:
      $ref: '#/definitions/Team'
    x-usedIn:
    - /account/{accountId}/teams/
    - /account/{accountId}/teams/{teamId}/
  AclRoleForeignKey:
    properties:
      id:
        description: Unique identifier for this ACL Role object.
        type: string
    required:
    - id
    x-derived:
      $ref: '#/definitions/AclRole'
    x-references:
      $ref: '#/definitions/AclRole'
x-dry-yaml-definitions:
  architecture:
    enum:
    - i386
    - x86_64
    type: string
  cloudLocationProperties:
    cloudLocation:
      description: 'Cloud Location, inside a given Cloud Platform, for this resource. May be null if this resource does not have a specific location. Note: if you would like to filter on this property, you **must** also filter on `cloudPlatform`.'
      type: string
    cloudPlatform:
      description: The Cloud Platform this resource resides in.
      enum:
      - ec2
      - gce
      type: string
  cloudstackProvider:
    description: Cloud provider that should be specified for CloudStack based clouds.
    enum:
    - cloudstack
    - idcf
    type: string
  openstackProvider:
    description: Cloud provider that should be specified for OpenStack based clouds.
    enum:
    - openstack
    - ocs
    - hpcloud
    - mirantis
    - vio
    - cisco
    type: string
  pathParamsPatterns:
    uuid:
      maxLength: 36
      minLength: 36
      pattern: '[A-Fa-f0-9]{8}-([A-Fa-f0-9]{4}-){3}[A-Fa-f0-9]{12}'
    uuidShort:
      maxLength: 12
      minLength: 12
      pattern: '[A-Fa-f0-9]+'
  scopeProperty:
    enum:
    - scalr
    - account
    - environment
    - farm
    - farmrole
    - role
    - server
    type: string