Impossible Cloud Distributors API
The Distributors API from Impossible Cloud — 11 operation(s) for distributors.
The Distributors API from Impossible Cloud — 11 operation(s) for distributors.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/impossible-cloud-distributors-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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