Impossible Cloud Distributors API

The Distributors API from Impossible Cloud — 11 operation(s) for distributors.

Operations 16

GET /contract/list Get list of available contracts
GET /contract/{contractID}/partners Get list of partners in the contract
POST /partner Create partner in the contract
DELETE /partner/{partnerID} Delete a partner
GET /partner/{partnerID} Get a partner by identifier
PUT /partner/{partnerID} Change partner's name or allocation
POST /partner/{partnerID}/member Create Management Console user for specific distributor partner
DELETE /partner/{partnerID}/member/{memberID} Remove Management Console user for a specific distributor partner
GET /partner/{partnerID}/members List Management Console users for specific distributor partner
GET /partner/{partnerID}/storage-accounts Get list of available storage accounts
POST /partner/{partnerID}/storage-accounts Create a storage account for a partner
DELETE /partner/{partnerID}/storage-accounts/{accountID} Schedule the deletion of a storage account
GET /partner/{partnerID}/storage-accounts/{accountID} Get account info by accountID
PATCH /partner/{partnerID}/storage-accounts/{accountID} Update information of an account by accountID
GET /partner/{partnerID}/storage-accounts/{accountID}/usage Retrieves the usage of the storage account of a given distributor partner
GET /partner/{partnerID}/usage Retrieves the usage of all the storage accounts of a given distributor partner

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/impossible-cloud-distributors-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

impossible-cloud-distributors-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact: {}
  description: 'Public API designed to help our partners to automate their tasks.

    Log in to Management Console, create API Key for your automation or reporting process and provide it in "Authorization" header per every request.'
  title: Impossible Cloud Management Console public Distributors API
  version: '1.0'
servers:
- url: https://api.partner.impossiblecloud.com/v1
tags:
- name: Distributors
paths:
  /contract/list:
    get:
      description: This endpoint retrieves a list of available contracts.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/api.DistributorContractResponse'
                type: array
      security:
      - Bearer: []
      summary: Get list of available contracts
      tags:
      - Distributors
  /contract/{contractID}/partners:
    get:
      description: 'This endpoint retrieves a list of partners associated with a specific contract.

        Use Case: As a Distributor, I want to list all available Partners in a specific contract.'
      parameters:
      - description: The unique identifier (UUID) of the contract for which the partners are to be listed
        in: path
        name: contractID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/api.DistributorPartnerResponse'
                type: array
      security:
      - Bearer: []
      summary: Get list of partners in the contract
      tags:
      - Distributors
  /partner:
    post:
      description: 'This endpoint allows the creation of a new partner within a specific contract. It is designed for distributors to add partners to their contracts efficiently.

        Use Case: As a Distributor, I want to create a new Partner within a specific contract to expand my network and manage my contractual relationships.'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.DistributorPartnerResponse'
      security:
      - Bearer: []
      summary: Create partner in the contract
      tags:
      - Distributors
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.CreatePartnerReqBody'
        description: Partner details
        required: true
  /partner/{partnerID}:
    delete:
      description: Deletes an empty partner. Fails if the partner already has storage accounts associated.
      parameters:
      - description: The unique identifier (UUID) of the partner to be deleted
        in: path
        name: partnerID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: No Content
      security:
      - Bearer: []
      summary: Delete a partner
      tags:
      - Distributors
    get:
      parameters:
      - description: The unique identifier of the partner to be retrieved
        in: path
        name: partnerID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.DistributorPartnerResponse'
      security:
      - Bearer: []
      summary: Get a partner by identifier
      tags:
      - Distributors
    put:
      description: This endpoint enables a distributor to update a partner's name or allocated capacity.
      parameters:
      - description: The unique identifier (UUID) of the partner whose details are to be updated
        in: path
        name: partnerID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.DistributorPartnerResponse'
      security:
      - Bearer: []
      summary: Change partner's name or allocation
      tags:
      - Distributors
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.UpdatePartnerReqBody'
        description: Name and/or allocation. Both parameters are optional.
        required: true
  /partner/{partnerID}/member:
    post:
      description: 'This endpoint facilitates the creation of a Management Console user for a specific distributor partner.

        Use Case: As a Distributor, I can create Management Console users (Members) for a specific Partner by its ID,'
      parameters:
      - description: The unique identifier (UUID) of the partner for whom the Management Console user is to be created
        in: path
        name: partnerID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.DistributorPartnerMembersResponse'
      security:
      - Bearer: []
      summary: Create Management Console user for specific distributor partner
      tags:
      - Distributors
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.CreateMemberReqBody'
        description: User details
        required: true
  /partner/{partnerID}/member/{memberID}:
    delete:
      description: This endpoint facilitates the removal of a Management Console user for a specific distributor partner.
      parameters:
      - description: The unique identifier (UUID) of the partner for whom the Management Console user is to be removed
        in: path
        name: partnerID
        required: true
        schema:
          type: string
          format: uuid
      - description: The unique identifier (UUID) of the member to be removed
        in: path
        name: memberID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: No Content
      security:
      - Bearer: []
      summary: Remove Management Console user for a specific distributor partner
      tags:
      - Distributors
  /partner/{partnerID}/members:
    get:
      parameters:
      - description: The unique identifier (UUID) of the partner for whom the Management Console users is to be listed
        in: path
        name: partnerID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/api.DistributorPartnerMembersResponse'
                type: array
      security:
      - Bearer: []
      summary: List Management Console users for specific distributor partner
      tags:
      - Distributors
  /partner/{partnerID}/storage-accounts:
    get:
      parameters:
      - description: The unique identifier of the partner
        in: path
        name: partnerID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/api.StorageAccountResponse'
                type: array
      security:
      - Bearer: []
      summary: Get list of available storage accounts
      tags:
      - Distributors
    post:
      parameters:
      - description: The unique identifier of the partner
        in: path
        name: partnerID
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.StorageAccountResponse'
      security:
      - Bearer: []
      summary: Create a storage account for a partner
      tags:
      - Distributors
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.CreateStorageAccountReqBody'
        description: Storage account details
        required: true
  /partner/{partnerID}/storage-accounts/{accountID}:
    delete:
      description: By default the storage account will be deleted in 30 days after scheduling.
      parameters:
      - description: Storage account identifier
        in: path
        name: accountID
        required: true
        schema:
          type: string
      - description: The unique identifier of the partner
        in: path
        name: partnerID
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
      security:
      - Bearer: []
      summary: Schedule the deletion of a storage account
      tags:
      - Distributors
    get:
      parameters:
      - description: Storage Account identifier
        in: path
        name: accountID
        required: true
        schema:
          type: string
      - description: The unique identifier of the partner
        in: path
        name: partnerID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.StorageAccountResponse'
      security:
      - Bearer: []
      summary: Get account info by accountID
      tags:
      - Distributors
    patch:
      parameters:
      - description: Storage Account ID you can find in /partner/{partnerID}/storage-account/list
        in: path
        name: accountID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.StorageAccountResponse'
      security:
      - Bearer: []
      summary: Update information of an account by accountID
      tags:
      - Distributors
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.PatchStorageAccountReqBody'
        description: Storage account details
        required: true
  /partner/{partnerID}/storage-accounts/{accountID}/usage:
    get:
      parameters:
      - description: Storage Account identifier
        in: path
        name: accountID
        required: true
        schema:
          type: string
      - description: The unique identifier of the partner
        in: path
        name: partnerID
        required: true
        schema:
          type: string
      - description: Start of the timeframe from where the data should be shown
        in: query
        name: from
        required: true
        schema:
          type: string
          format: yyyy-mm-dd
      - description: End of the timeframe from where the data should be shown
        in: query
        name: to
        required: true
        schema:
          type: string
          format: yyyy-mm-dd
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.ClientUsage'
      security:
      - Bearer: []
      summary: Retrieves the usage of the storage account of a given distributor partner
      tags:
      - Distributors
  /partner/{partnerID}/usage:
    get:
      description: This Endpoint is used to retrieve the usage information of each storage account a specific distributor partner has.
      parameters:
      - description: The unique identifier (UUID) of the partner for whom the Management Console users is to be listed
        in: path
        name: partnerID
        required: true
        schema:
          type: string
          format: uuid
      - description: Start of the timeframe from where the data should be shown
        in: query
        name: from
        required: true
        schema:
          type: string
          format: yyyy-mm-dd
      - description: End of the timeframe from where the data should be shown
        in: query
        name: to
        required: true
        schema:
          type: string
          format: yyyy-mm-dd
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/api.ClientUsage'
                type: array
      security:
      - Bearer: []
      summary: Retrieves the usage of all the storage accounts of a given distributor partner
      tags:
      - Distributors
components:
  schemas:
    api.CreateStorageAccountReqBody:
      properties:
        allocatedCapacity:
          minimum: 0
          type: integer
        allowOverdraft:
          type: boolean
        clientAccount:
          $ref: '#/components/schemas/api.StorageAccountClientAccount'
        name:
          type: string
      required:
      - allocatedCapacity
      - allowOverdraft
      - clientAccount
      - name
      type: object
    api.StorageAccountResponse:
      properties:
        allocatedCapacity:
          type: integer
        allowOverdraft:
          type: boolean
        clientAccountId:
          type: string
        contactEmail:
          type: string
        name:
          type: string
        pendingDeletedAt:
          type: string
      type: object
    api.StorageAccountClientAccount:
      properties:
        contactEmail:
          type: string
        password:
          description: 'Password The password of the account.

            The following requirements apply to the password:

            - must be at least 8 characters and no more than 128 characters in length

            - must contain at lease one special character: !"#$%&''()*+,-./:;<=>?@[\]^_`{|}~

            - must contain lower-case (a-z), upper-case (A-Z) and number (0-9) characters'
          type: string
      required:
      - contactEmail
      - password
      type: object
    api.CreateMemberReqBody:
      properties:
        email:
          description: Email address of the new user
          type: string
        name:
          description: The name of the new user
          type: string
        password:
          description: Password for the new user
          type: string
        role:
          description: 'Role assigned to the new user within the Partner Portal. Might be one of the following: admin, staff, viewer'
          type: string
      required:
      - email
      - password
      - role
      type: object
    api.CreatePartnerReqBody:
      properties:
        allocatedCapacity:
          description: The capacity allocated to this new partner
          minimum: 0
          type: integer
        allowOverdraft:
          description: Indicated if the partner can go over its allocated capacity
          type: boolean
        distributorContractId:
          description: UUID of the distributor's contract with which the partner is to be associated
          type: string
        name:
          description: The name of the new partner
          type: string
      required:
      - allocatedCapacity
      - distributorContractId
      - name
      type: object
    api.DailyUsage:
      properties:
        allocated_capacity:
          type: integer
        date:
          type: string
        usage:
          type: integer
      type: object
    api.DistributorPartnerResponse:
      properties:
        allocatedCapacity:
          description: The capacity allocated to this partner under the contract
          type: integer
        allowOverdraft:
          description: Indicates if the partner can go over it's allocated capacity
          type: boolean
        details:
          description: Additional details about the partner
          type: string
        distributorContractId:
          description: The ID of the distributor's contract (UUID)
          type: string
        id:
          description: The unique identifier of the partner (UUID)
          type: string
        name:
          description: The name of the partner
          type: string
      type: object
    api.ClientUsage:
      properties:
        allocated_capacity:
          type: integer
        client_id:
          type: string
        daily_usage:
          items:
            $ref: '#/components/schemas/api.DailyUsage'
          type: array
        name:
          type: string
      type: object
    api.DistributorContractResponse:
      properties:
        allocatedCapacity:
          description: The amount of capacity currently allocated under this contract
          type: integer
        costEgressGBCents:
          description: 'Deprecated: should not be used and is always 0'
          type: number
        costStorageGBCents:
          description: The cost per GB for storage
          type: number
        currency:
          description: The currency in which the costs are denominated
          type: string
        details:
          description: Additional details about the contract
          type: string
        distributorId:
          description: The unique identifier of the distributor for this contract
          type: string
        id:
          description: The unique identifier of the contract
          type: string
        reservedCapacity:
          description: The amount of capacity reserved under this contract
          type: integer
      type: object
    api.DistributorPartnerMembersResponse:
      properties:
        email:
          type: string
        id:
          type: string
        name:
          type: string
        role:
          type: string
      type: object
    api.UpdatePartnerReqBody:
      properties:
        allocatedCapacity:
          description: The updated capacity allocated to this partner
          minimum: 0
          type: integer
        name:
          description: The new name of the partner
          type: string
      type: object
    api.PatchStorageAccountReqBody:
      properties:
        pendingDeletedAt:
          type:
          - string
          - 'null'
      type: object
  securitySchemes:
    Bearer:
      description: Type "Bearer" followed by a space and JWT token.
      in: header
      name: Authorization
      type: apiKey