Scaleway Iam API

The Iam API from Scaleway — 8 operation(s) for iam.

Business capability
Identity & Access Management BC-620.20

Operations 8

POST /iam/v1alpha1/check-permissions Check permissions #
GET /iam/v1alpha1/organizations/{organization_id} Get your Organization's IAM information #
PUT /iam/v1alpha1/organizations/{organization_id}/alias Set your Organization's alias #
PATCH /iam/v1alpha1/organizations/{organization_id}/login-methods Set your Organization's allowed login methods #
GET /iam/v1alpha1/users/{user_id}/connections Get user connections #
POST /iam/v1alpha1/users/{user_id}/initiate-connection Initiate user connection #
POST /iam/v1alpha1/users/{user_id}/join-connection Join user connection #
POST /iam/v1alpha1/users/{user_id}/remove-connection Remove user connection #

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/scaleway-iam-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

scaleway-iam-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Iam API
  description: Identity and Access Management (IAM) allows you to share access to the management of your Scaleway resources and Organization settings, in a controlled and secure manner.
  version: v1alpha1
servers:
- url: https://api.scaleway.com
tags:
- name: IAM
paths:
  /iam/v1alpha1/check-permissions:
    post:
      operationId: CheckPermissions
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.iam.v1alpha1.CheckPermissionsResponse'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                permissions:
                  type: array
                  items:
                    $ref: '#/components/schemas/scaleway.iam.v1alpha1.CheckPermissionsRequest.Permission'
              x-properties-order:
              - permissions
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X POST \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{}' \\\n  \"https://api.scaleway.com/iam/v1alpha1/check-permissions\""
      - lang: HTTPie
        source: "http POST \"https://api.scaleway.com/iam/v1alpha1/check-permissions\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
      tags:
      - IAM
      summary: Check permissions
      x-summary-source: derived
  /iam/v1alpha1/organizations/{organization_id}:
    get:
      operationId: GetOrganization
      summary: Get your Organization's IAM information
      parameters:
      - in: path
        name: organization_id
        description: ID of the Organization.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.iam.v1alpha1.Organization'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X GET \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  \"https://api.scaleway.com/iam/v1alpha1/organizations/{organization_id}\""
      - lang: HTTPie
        source: "http GET \"https://api.scaleway.com/iam/v1alpha1/organizations/{organization_id}\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
      tags:
      - IAM
  /iam/v1alpha1/organizations/{organization_id}/alias:
    put:
      operationId: SetOrganizationAlias
      summary: Set your Organization's alias
      description: This will fail if an alias has already been defined. Please contact support if you need to change your Organization's alias.
      parameters:
      - in: path
        name: organization_id
        description: ID of the Organization.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.iam.v1alpha1.Organization'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                alias:
                  type: string
                  description: Alias of the Organization.
              x-properties-order:
              - alias
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X PUT \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"alias\":\"string\"}' \\\n  \"https://api.scaleway.com/iam/v1alpha1/organizations/{organization_id}/alias\""
      - lang: HTTPie
        source: "http PUT \"https://api.scaleway.com/iam/v1alpha1/organizations/{organization_id}/alias\" \\\n  X-Auth-Token:$SCW_SECRET_KEY \\\n  alias=\"string\""
      tags:
      - IAM
  /iam/v1alpha1/organizations/{organization_id}/login-methods:
    patch:
      operationId: UpdateOrganizationLoginMethods
      summary: Set your Organization's allowed login methods
      parameters:
      - in: path
        name: organization_id
        description: ID of the Organization.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.iam.v1alpha1.Organization'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                login_password_enabled:
                  type: boolean
                  description: Defines whether login with a password is enabled for the Organization.
                login_oauth2_enabled:
                  type: boolean
                  description: Defines whether login through OAuth2 is enabled for the Organization.
                login_magic_code_enabled:
                  type: boolean
                  description: Defines whether login with an authentication code is enabled for the Organization.
                login_saml_enabled:
                  type: boolean
                  description: Defines whether login through SAML is enabled for the Organization.
              x-properties-order:
              - login_password_enabled
              - login_oauth2_enabled
              - login_magic_code_enabled
              - login_saml_enabled
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X PATCH \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{}' \\\n  \"https://api.scaleway.com/iam/v1alpha1/organizations/{organization_id}/login-methods\""
      - lang: HTTPie
        source: "http PATCH \"https://api.scaleway.com/iam/v1alpha1/organizations/{organization_id}/login-methods\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
      tags:
      - IAM
  /iam/v1alpha1/users/{user_id}/connections:
    get:
      operationId: GetUserConnections
      parameters:
      - in: path
        name: user_id
        description: ID of the user to list connections for.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.iam.v1alpha1.GetUserConnectionsResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X GET \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  \"https://api.scaleway.com/iam/v1alpha1/users/{user_id}/connections\""
      - lang: HTTPie
        source: "http GET \"https://api.scaleway.com/iam/v1alpha1/users/{user_id}/connections\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
      tags:
      - IAM
      summary: Get user connections
      x-summary-source: derived
  /iam/v1alpha1/users/{user_id}/initiate-connection:
    post:
      operationId: InitiateUserConnection
      parameters:
      - in: path
        name: user_id
        description: ID of the user that will be added to your connection.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.iam.v1alpha1.InitiateUserConnectionResponse'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X POST \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{}' \\\n  \"https://api.scaleway.com/iam/v1alpha1/users/{user_id}/initiate-connection\""
      - lang: HTTPie
        source: "http POST \"https://api.scaleway.com/iam/v1alpha1/users/{user_id}/initiate-connection\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
      tags:
      - IAM
      summary: Initiate user connection
      x-summary-source: derived
  /iam/v1alpha1/users/{user_id}/join-connection:
    post:
      operationId: JoinUserConnection
      parameters:
      - in: path
        name: user_id
        description: User ID.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: ''
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                token:
                  type: string
                  description: A token returned by InitiateUserConnection.
              x-properties-order:
              - token
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X POST \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"token\":\"string\"}' \\\n  \"https://api.scaleway.com/iam/v1alpha1/users/{user_id}/join-connection\""
      - lang: HTTPie
        source: "http POST \"https://api.scaleway.com/iam/v1alpha1/users/{user_id}/join-connection\" \\\n  X-Auth-Token:$SCW_SECRET_KEY \\\n  token=\"string\""
      tags:
      - IAM
      summary: Join user connection
      x-summary-source: derived
  /iam/v1alpha1/users/{user_id}/remove-connection:
    post:
      operationId: RemoveUserConnection
      parameters:
      - in: path
        name: user_id
        description: ID of the user you want to manage the connection for.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: ''
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                target_user_id:
                  type: string
                  description: ID of the user you want to remove from your connection.
              x-properties-order:
              - target_user_id
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X POST \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"target_user_id\":\"string\"}' \\\n  \"https://api.scaleway.com/iam/v1alpha1/users/{user_id}/remove-connection\""
      - lang: HTTPie
        source: "http POST \"https://api.scaleway.com/iam/v1alpha1/users/{user_id}/remove-connection\" \\\n  X-Auth-Token:$SCW_SECRET_KEY \\\n  target_user_id=\"string\""
      tags:
      - IAM
      summary: Remove user connection
      x-summary-source: derived
components:
  schemas:
    scaleway.iam.v1alpha1.Connection:
      type: object
      properties:
        organization:
          type: object
          description: Information about the connected organization.
          properties:
            id:
              type: string
            name:
              type: string
            locked:
              type: boolean
          x-properties-order:
          - id
          - name
          - locked
        user:
          type: object
          description: Information about the connected user.
          properties:
            id:
              type: string
            username:
              type: string
            type:
              $ref: '#/components/schemas/scaleway.iam.v1alpha1.User.Type'
          x-properties-order:
          - id
          - username
          - type
      x-properties-order:
      - organization
      - user
    scaleway.iam.v1alpha1.CheckPermissionsResponse.Response:
      type: object
      properties:
        decision:
          $ref: '#/components/schemas/scaleway.iam.v1alpha1.CheckPermissionsResponse.Response.Decision'
      x-properties-order:
      - decision
    scaleway.iam.v1alpha1.InitiateUserConnectionResponse:
      type: object
      properties:
        token:
          type: string
          description: Token to be used in JoinUserConnection.
      x-properties-order:
      - token
    scaleway.iam.v1alpha1.CheckPermissionsResponse.Response.Decision:
      type: string
      enum:
      - deny
      - allow
      default: deny
    scaleway.iam.v1alpha1.CheckPermissionsResponse:
      type: object
      properties:
        responses:
          type: array
          items:
            $ref: '#/components/schemas/scaleway.iam.v1alpha1.CheckPermissionsResponse.Response'
      x-properties-order:
      - responses
    scaleway.iam.v1alpha1.CheckPermissionsRequest.Permission:
      type: object
      properties:
        service:
          type: string
        name:
          type: string
        action:
          type: string
        project_id:
          type: string
          nullable: true
          x-one-of: scope
        organization_id:
          type: string
          nullable: true
          x-one-of: scope
      x-properties-order:
      - service
      - name
      - action
      - project_id
      - organization_id
    scaleway.iam.v1alpha1.Organization:
      type: object
      properties:
        id:
          type: string
          description: ID of the Organization.
        name:
          type: string
          description: Name of the Organization.
        alias:
          type: string
          description: Alias of the Organization.
        login_password_enabled:
          type: boolean
          description: Defines whether login with a password is enabled for the Organization.
        login_magic_code_enabled:
          type: boolean
          description: Defines whether login with an authentication code is enabled for the Organization.
        login_oauth2_enabled:
          type: boolean
          description: Defines whether login through OAuth2 is enabled for the Organization.
        login_saml_enabled:
          type: boolean
          description: Defines whether login through SAML is enabled for the Organization.
      x-properties-order:
      - id
      - name
      - alias
      - login_password_enabled
      - login_magic_code_enabled
      - login_oauth2_enabled
      - login_saml_enabled
    scaleway.iam.v1alpha1.User.Type:
      type: string
      enum:
      - unknown_type
      - owner
      - member
      x-enum-descriptions:
        values:
          unknown_type: Unknown type
          owner: Owner
      default: unknown_type
    scaleway.iam.v1alpha1.GetUserConnectionsResponse:
      type: object
      properties:
        connections:
          type: array
          description: List of connections.
          items:
            $ref: '#/components/schemas/scaleway.iam.v1alpha1.Connection'
      x-properties-order:
      - connections
  securitySchemes:
    scaleway:
      in: header
      name: X-Auth-Token
      type: apiKey