Volumez Auth API

The auth API from Volumez — 3 operation(s) for auth.

Operations 3

GET /roles/{tenantId}/{userId} Get all user roles #
GET /roles Get all tenant roles #
PATCH /role/{userId}/{roleId} Update user role #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/volumez-auth-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

volumez-auth-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Volumez orchestrator API
  title: Volumez Auth API
  version: 1.0.0 - 8d1ee8c4
  x-squire-version: 1.54.0
servers:
- url: https://api.dev.volumez.com
tags:
- name: Auth
paths:
  /roles/{tenantId}/{userId}:
    get:
      operationId: getRolesFromUserID
      parameters:
      - explode: false
        in: header
        name: authorization
        required: false
        schema:
          type: string
        style: simple
      - description: tenant ID
        explode: false
        in: path
        name: tenantId
        required: true
        schema:
          type: string
        style: simple
      - description: user ID
        explode: false
        in: path
        name: userId
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/GetRolesResponse'
                type: array
          description: Roles found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Roles not found
      security:
      - storage.io-authorizer: []
      summary: Get all user roles
      tags:
      - Auth
      x-amazon-apigateway-integration:
        httpMethod: GET
        uri: http://None:None/auth/roles/{tenantId}/{userId}
        passthroughBehavior: when_no_match
        type: http_proxy
        timeoutInMillis: 29000
        requestParameters:
          integration.request.header.X-Request-ID: context.requestId
          integration.request.path.tenantId: method.request.path.tenantId
          integration.request.path.userId: method.request.path.userId
  /roles:
    get:
      operationId: getAllRolesForTenant
      parameters:
      - explode: false
        in: header
        name: authorization
        required: false
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/GetRolesResponse'
                type: array
          description: Roles found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Roles not found
      security:
      - storage.io-authorizer: []
      summary: Get all tenant roles
      tags:
      - Auth
      x-amazon-apigateway-integration:
        httpMethod: GET
        uri: http://None:None/auth/roles
        passthroughBehavior: when_no_match
        type: http_proxy
        timeoutInMillis: 29000
        requestParameters:
          integration.request.header.X-Request-ID: context.requestId
  /role/{userId}/{roleId}:
    patch:
      operationId: updateUserRole
      parameters:
      - explode: false
        in: header
        name: authorization
        required: false
        schema:
          type: string
        style: simple
      - explode: false
        in: path
        name: userId
        required: true
        schema:
          type: string
        style: simple
      - explode: false
        in: path
        name: roleId
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          description: Role updated
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Role update failed
      security:
      - storage.io-authorizer: []
      summary: Update user role
      tags:
      - Auth
      x-amazon-apigateway-integration:
        httpMethod: PATCH
        uri: http://None:None/auth/role/{userId}/{roleId}
        passthroughBehavior: when_no_match
        type: http_proxy
        timeoutInMillis: 29000
        requestParameters:
          integration.request.header.X-Request-ID: context.requestId
          integration.request.path.userId: method.request.path.userId
          integration.request.path.roleId: method.request.path.roleId
components:
  schemas:
    CloudProviderType:
      enum:
      - aws
      - azure
      type: string
    GetRolesResponse:
      example:
        RoleName: RoleName
        Policies:
        - Policies
        - Policies
        roles:
        - azureRole:
            activeDirectoryId: activeDirectoryId
            secretId: secretId
            applicationId: applicationId
          cloudProvider:
            accountID: accountID
            type: aws
          awsRole:
            externalId: externalId
            arn: arn
        - azureRole:
            activeDirectoryId: activeDirectoryId
            secretId: secretId
            applicationId: applicationId
          cloudProvider:
            accountID: accountID
            type: aws
          awsRole:
            externalId: externalId
            arn: arn
        RoleId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
      properties:
        roles:
          items:
            $ref: '#/components/schemas/GetRolesResponse_roles_inner'
          type: array
        RoleId:
          format: uuid
          type: string
        RoleName:
          type:
          - string
          - 'null'
        Policies:
          items:
            type: string
          type:
          - array
          - 'null'
          x-omitempty: true
      required:
      - roles
      type: object
    CloudProvider:
      example:
        accountID: accountID
        type: aws
      properties:
        type:
          $ref: '#/components/schemas/CloudProviderType'
        accountID:
          type: string
          x-omitempty: false
          x-isnullable: false
      required:
      - accountID
      - type
      type: object
    ErrorResponse:
      example:
        message: message
      properties:
        message:
          type: string
          x-omitempty: false
          x-isnullable: false
      type: object
    AWSRoleItem:
      example:
        externalId: externalId
        arn: arn
      properties:
        arn:
          type: string
          x-omitempty: false
          x-isnullable: false
        externalId:
          type: string
          x-omitempty: true
          x-isnullable: false
      required:
      - arn
      type:
      - object
      - 'null'
      x-omitempty: true
      x-isnullable: true
    GetRolesResponse_roles_inner:
      example:
        azureRole:
          activeDirectoryId: activeDirectoryId
          secretId: secretId
          applicationId: applicationId
        cloudProvider:
          accountID: accountID
          type: aws
        awsRole:
          externalId: externalId
          arn: arn
      properties:
        cloudProvider:
          $ref: '#/components/schemas/CloudProvider'
        awsRole:
          $ref: '#/components/schemas/AWSRoleItem'
        azureRole:
          $ref: '#/components/schemas/AzureRoleItem'
      required:
      - cloudProvider
      type: object
    AzureRoleItem:
      example:
        activeDirectoryId: activeDirectoryId
        secretId: secretId
        applicationId: applicationId
      properties:
        activeDirectoryId:
          type: string
          x-omitempty: false
          x-isnullable: false
        applicationId:
          type: string
          x-omitempty: false
          x-isnullable: false
        secretId:
          type: string
          x-omitempty: false
          x-isnullable: false
      required:
      - activeDirectoryId
      - applicationId
      - secretId
      type:
      - object
      - 'null'
      x-omitempty: true
      x-isnullable: true
  securitySchemes:
    storage.io-authorizer:
      in: header
      name: authorization
      type: apiKey
      x-amazon-apigateway-authtype: cognito_user_pools
      x-amazon-apigateway-authorizer:
        providerARNs:
        - arn:aws:cognito-idp:us-east-1:125714719355:userpool/us-east-1_Mk5LdUo2I
        type: cognito_user_pools
x-amazon-apigateway-gateway-responses:
  DEFAULT_5XX:
    responseParameters:
      gatewayresponse.header.access-control-allow-origin: '''*'''
    responseTemplates:
      application/json: '{"Message":$context.error.messageString}'
  DEFAULT_4XX:
    responseParameters:
      gatewayresponse.header.access-control-allow-origin: '''*'''
    responseTemplates:
      application/json: '{"Message":$context.error.messageString}'
  UNAUTHORIZED:
    responseParameters:
      gatewayresponse.header.access-control-allow-origin: '''*'''
    responseTemplates:
      application/json: '{"Message":$context.error.messageString}'
  ACCESS_DENIED:
    responseParameters:
      gatewayresponse.header.access-control-allow-origin: '''*'''
    responseTemplates:
      application/json: '{"Message":$context.error.messageString}'
  RESOURCE_NOT_FOUND:
    responseParameters:
      gatewayresponse.header.access-control-allow-origin: '''*'''
    responseTemplates:
      application/json: '{"Message":$context.error.messageString}'
  THROTTLED:
    responseParameters:
      gatewayresponse.header.access-control-allow-origin: '''*'''
    responseTemplates:
      application/json: '{"Message":$context.error.messageString}'
  AUTHORIZER_FAILURE:
    responseParameters:
      gatewayresponse.header.access-control-allow-origin: '''*'''
    responseTemplates:
      application/json: '{"Message":$context.error.messageString}'
  AUTHORIZER_CONFIGURATION_ERROR:
    responseParameters:
      gatewayresponse.header.access-control-allow-origin: '''*'''
    responseTemplates:
      application/json: '{"Message":$context.error.messageString}'
  INVALID_API_KEY:
    responseParameters:
      gatewayresponse.header.access-control-allow-origin: '''*'''
    responseTemplates:
      application/json: '{"Message":$context.error.messageString}'
  BAD_REQUEST_PARAMETERS:
    responseParameters:
      gatewayresponse.header.access-control-allow-origin: '''*'''
    responseTemplates:
      application/json: '{"Message":$context.error.messageString}'
  BAD_REQUEST_BODY:
    responseParameters:
      gatewayresponse.header.access-control-allow-origin: '''*'''
    responseTemplates:
      application/json: '{"Message":$context.error.messageString}'
  REQUEST_TOO_LARGE:
    responseParameters:
      gatewayresponse.header.access-control-allow-origin: '''*'''
    responseTemplates:
      application/json: '{"Message":$context.error.messageString}'
  UNSUPPORTED_MEDIA_TYPE:
    responseParameters:
      gatewayresponse.header.access-control-allow-origin: '''*'''
    responseTemplates:
      application/json: '{"Message":$context.error.messageString}'
  API_CONFIGURATION_ERROR:
    responseParameters:
      gatewayresponse.header.access-control-allow-origin: '''*'''
    responseTemplates:
      application/json: '{"Message":$context.error.messageString}'
  QUOTA_EXCEEDED:
    responseParameters:
      gatewayresponse.header.access-control-allow-origin: '''*'''
    responseTemplates:
      application/json: '{"Message":$context.error.messageString}'
x-original-swagger-version: '2.0'