Scaleway Applications API

An application (also known as an IAM application) is a non-human user in a Scaleway Organization. IAM applications may be used when you want to create an API key that is not linked to a user, to give programmatic access to resources. Note that applications cannot, by definition, have access to the Scaleway console, as they have only an API key and no account themselves (they are not [accounts](https://www.scaleway.com/en/docs/iam/concepts/#account)).

Business capability
Identity & Access Management BC-620.20

Operations 5

GET /iam/v1alpha1/applications List applications of an Organization #
POST /iam/v1alpha1/applications Create a new application #
GET /iam/v1alpha1/applications/{application_id} Get a given application #
PATCH /iam/v1alpha1/applications/{application_id} Update an application #
DELETE /iam/v1alpha1/applications/{application_id} Delete an application #

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-applications-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-applications-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: IAM Applications 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: Applications
  description: 'An application (also known as an IAM application) is a non-human user in a Scaleway Organization. IAM applications may be used when you want to create an API key that is not linked to a user, to give programmatic access to resources.


    Note that applications cannot, by definition, have access to the Scaleway console, as they have only an API key and no account themselves (they are not accounts).'
paths:
  /iam/v1alpha1/applications:
    get:
      tags:
      - Applications
      operationId: ListApplications
      summary: List applications of an Organization
      description: List the applications of an Organization. By default, the applications listed are ordered by creation date in ascending order. This can be modified via the `order_by` field. You must define the `organization_id` in the query path of your request. You can also define additional parameters for your query such as `application_ids`.
      parameters:
      - in: query
        name: order_by
        description: Criteria for sorting results.
        schema:
          type: string
          enum:
          - created_at_asc
          - created_at_desc
          - updated_at_asc
          - updated_at_desc
          - name_asc
          - name_desc
          x-enum-descriptions:
            values:
              created_at_asc: Creation date ascending
              created_at_desc: Creation date descending
              updated_at_asc: Update date ascending
              updated_at_desc: Update date descending
              name_asc: Name ascending
              name_desc: Name descending
          default: created_at_asc
      - in: query
        name: page_size
        description: Number of results per page. Value must be between 1 and 100.
        schema:
          type: integer
          format: uint32
      - in: query
        name: page
        description: Page number. Value must be greater than 1.
        schema:
          type: integer
          format: int32
      - in: query
        name: name
        description: Name of the application to filter.
        schema:
          type: string
      - in: query
        name: organization_id
        description: ID of the Organization to filter.
        schema:
          type: string
      - in: query
        name: editable
        description: Defines whether to filter out editable applications or not.
        schema:
          type: boolean
      - in: query
        name: application_ids
        description: Filter by list of IDs.
        schema:
          type: array
          items:
            type: string
      - in: query
        name: tag
        description: Filter by tags containing a given string.
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.iam.v1alpha1.ListApplicationsResponse'
      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/applications?organization_id=string\""
      - lang: HTTPie
        source: "http GET \"https://api.scaleway.com/iam/v1alpha1/applications\" \\\n  X-Auth-Token:$SCW_SECRET_KEY \\\n  organization_id==string"
    post:
      tags:
      - Applications
      operationId: CreateApplication
      summary: Create a new application
      description: Create a new application. You must define the `name` parameter in the request.
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.iam.v1alpha1.Application'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the application to create (max length is 64 characters).
                organization_id:
                  type: string
                  description: ID of the Organization.
                description:
                  type: string
                  description: Description of the application (max length is 200 characters).
                tags:
                  type: array
                  description: Tags associated with the application (maximum of 10 tags).
                  items:
                    type: string
              required:
              - name
              x-properties-order:
              - name
              - organization_id
              - description
              - tags
      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    \"description\": \"string\",\n    \"name\": \"string\",\n    \"organization_id\": \"string\"\n  }' \\\n  \"https://api.scaleway.com/iam/v1alpha1/applications\""
      - lang: HTTPie
        source: "http POST \"https://api.scaleway.com/iam/v1alpha1/applications\" \\\n  X-Auth-Token:$SCW_SECRET_KEY \\\n  description=\"string\" \\\n  name=\"string\" \\\n  organization_id=\"string\""
  /iam/v1alpha1/applications/{application_id}:
    get:
      tags:
      - Applications
      operationId: GetApplication
      summary: Get a given application
      description: Retrieve information about an application, specified by the `application_id` parameter. The application's full details, including `id`, `email`, `organization_id`, `status` and `two_factor_enabled` are returned in the response.
      parameters:
      - in: path
        name: application_id
        description: ID of the application to find.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.iam.v1alpha1.Application'
      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/applications/{application_id}\""
      - lang: HTTPie
        source: "http GET \"https://api.scaleway.com/iam/v1alpha1/applications/{application_id}\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
    patch:
      tags:
      - Applications
      operationId: UpdateApplication
      summary: Update an application
      description: Update the parameters of an application, including `name` and `description`.
      parameters:
      - in: path
        name: application_id
        description: ID of the application to update.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.iam.v1alpha1.Application'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: New name for the application (max length is 64 chars).
                  nullable: true
                description:
                  type: string
                  description: New description for the application (max length is 200 chars).
                  nullable: true
                tags:
                  type: array
                  description: New tags for the application (maximum of 10 tags).
                  nullable: true
                  items:
                    type: string
              x-properties-order:
              - name
              - description
              - tags
      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/applications/{application_id}\""
      - lang: HTTPie
        source: "http PATCH \"https://api.scaleway.com/iam/v1alpha1/applications/{application_id}\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
    delete:
      tags:
      - Applications
      operationId: DeleteApplication
      summary: Delete an application
      description: Delete an application. Note that this action is irreversible and will automatically delete the application's API keys. Policies attached to users and applications via this group will no longer apply.
      parameters:
      - in: path
        name: application_id
        description: ID of the application to delete.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: ''
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X DELETE \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  \"https://api.scaleway.com/iam/v1alpha1/applications/{application_id}\""
      - lang: HTTPie
        source: "http DELETE \"https://api.scaleway.com/iam/v1alpha1/applications/{application_id}\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
components:
  schemas:
    scaleway.iam.v1alpha1.Application:
      type: object
      properties:
        id:
          type: string
          description: ID of the application.
        name:
          type: string
          description: Name of the application.
        description:
          type: string
          description: Description of the application.
        created_at:
          type: string
          description: Date and time application was created. (RFC 3339 format)
          format: date-time
          example: '2022-03-22T12:34:56.123456Z'
          nullable: true
        updated_at:
          type: string
          description: Date and time of last application update. (RFC 3339 format)
          format: date-time
          example: '2022-03-22T12:34:56.123456Z'
          nullable: true
        organization_id:
          type: string
          description: ID of the Organization.
        editable:
          type: boolean
          description: Defines whether or not the application is editable.
        deletable:
          type: boolean
          description: Defines whether or not the application is deletable.
        managed:
          type: boolean
          description: Defines whether or not the application is managed.
        nb_api_keys:
          type: integer
          description: Number of API keys attributed to the application.
          format: uint32
        tags:
          type: array
          description: Tags associated with the user.
          items:
            type: string
      x-properties-order:
      - id
      - name
      - description
      - created_at
      - updated_at
      - organization_id
      - editable
      - deletable
      - managed
      - nb_api_keys
      - tags
    scaleway.iam.v1alpha1.ListApplicationsResponse:
      type: object
      properties:
        applications:
          type: array
          description: List of applications.
          items:
            $ref: '#/components/schemas/scaleway.iam.v1alpha1.Application'
        total_count:
          type: integer
          description: Total count of applications.
          format: uint32
      x-properties-order:
      - applications
      - total_count
  securitySchemes:
    scaleway:
      in: header
      name: X-Auth-Token
      type: apiKey