Assets API

Updated: May 19, 2020
Contents

Overview

Assets Management Module API consists of 2 objects: Asset and Asset Request as highlighted in the overall entity-relationship diagram:

These objects implement the workflow illustrated by the following state transitions diagrams.

Asset Workflow

Asset Request Workflow

Get Requests List

Resource
/requests
Method
GET
Header
Authorization:  ApiKey <key_id>:<key_secret>
Filter(s)
status, created, asset_id, product_id, type, asset.connection.hub.id, asset.connection.provider.id, asset.tiers.customer.id, asset.connection.type
Default Filter(s)
status=’pending’
Ordering

Default Ordering
created (ascending)
Limit

Default limit
1000

Response body: 

Content-Type: application/json

[ request_obj1,
  request_obj2,
  request_obj3
]

Recommended Polling Period

Automation script would typically poll for changed data periodically. Our recommendation is to process fulfillment queue every 2~5 minutes, i.e. not more often than every 2 minutes (to reduce load on the API queue) and at least as often as every 5 minutes (to limit order completion time). Though this polling frequency depends on business requirements for how quickly changes in requests queue need to be reflected in your systems and are generally dependent on the SLAs defined by the Provider.


Get Request Details

Resource 
/requests/{id}
Method 
GET
Header 
Authorization: ApiKey  <key_id>:<key_secret>
Filter(s)
– 
Default Filter(s)
– 
Ordering
– 
Default Ordering
– 
Limit
– 
Default limit
– 

Response body:

Content-Type: application/json

{
    "id": "PR-9861-7949-8492",
    "type": "purchase",
    "created": "2018-06-04T13:19:10.102670+00:00",
    "updated": "2018-06-04T13:19:10.102670+00:00",
    "status": "pending",
 
    "asset": {
 
        "id": "AS-9861-7949-8492",
        "external_id": "12435 #OSA Subscription Id",
 
        "product": {
            "id": "CN-9861-7949-8492",
            "name": "Fallball Awesone"
        },
 
        "connection": {
            "id": "CT-9861-7949-8492",
            "type": "production",
 
            "provider": {
                "name": "Ingram Micro Prod DA",
                "id": "PA-9861-7949-849"
            },
 
            "vendor": {
                "name": "Large Largo and Co",
                "id": "VA-9861-7949-849"
            }
        },
 
        "items": [{
                "global_id": "PR-9861-7949-8492-001",
                "id": "SKU-9861-7949-8492-0001",
                "mpn": "TEAM-ST3L2TAC1M",
                "quantity": "3",
                "old_quantity": ""
            },
            {
                "global_id": "PR-9861-7949-8492-002",
                "id": "SKU-9861-7949-8492-0002",
                "mpn": "USR-FFFAC1M",
                "quantity": "1",
                "old_quantity": ""
            }
        ],
 
        "params": [{
            "id": "PM-9861-7949-8492-0001 #AUTOGEN #PRODUCT",
            "name": "Secondary email",
            "description": "This is a backup email for emergency",
            "value": "daniel.lark@gmail.com",
            "value_error": "This address is already used. Try another.",
            "value_choices": ""
        }],
 
        "tiers": {
            "customer": {
                "id": "CS-9861-7949-8492",
                "external_id": "12435 #OSA Account Id",
                "account_name": "string",
                "contact_info": {
                    "address_line1": "Yalı Mahallesi",
                    "address_line2": "",
                    "city": "Erdek",
                    "state": "string",
                    "postal_code": "10500",
                    "country": "tr",
                    "contact": {
                        "first_name": "Quickstart",
                        "last_name": "Long Running Operation",
                        "email": "qlro@softcom.com",
                        "phone_number": {
                            "country_code": "+90",
                            "area_code": "546",
                            "phone_number": "6317546",
                            "extension": ""
                        }
                    }
 
                },
 
                "tier1": {
                    "id": "RS-9861-7949-8492",
                    "external_id": "12435 #OSA Account Id",
                    "account_name": "string",
                    "contact_info": { ...
                    }
                },
 
                "tier2": {
                    "id": "RS-9861-7949-8492",
                    "external_id": "12435 #OSA Account Id",
                    "account_name": "string",
                    "contact_info": { ...
                    }
                },
 
                "marketplace": {
                    "id": "MP-9861-7949-8492",
                    "name": "Ingram Micro Cloud United",
                    "external_id": "12435 #OSA Account Id",
                    "account_name": "string",
                    "contact_info": { ...
                    }
                }
            }
        }

Modify Request Data

Resource 
/requests/{id}
Method 
PUT (Partial Update)
Header 
Authorization: ApiKey  <key_id>:<key_secret>
Filter(s) 

Default Filter(s) 

Ordering 

Default Ordering 

Limit 

Default limit 

Request body:

Content-Type: application/json

{
    "asset": {
       "params": [
            {
                "id": "PM-9861-7949-8492-0001",
                "name": "Secondary email",
                "description": "This is a backup email for emergency",
                "value": "daniel.lark@example.com", // MODIFICATION ALLOWED
                "value_error": "Invalid address. Try another.", // MODIFICATION ALLOWED
                "value_choices": []
            },

           {
                "id": "PM-9861-7949-8492-0002",
                "name": "Secondary email",
                "description": "This is a backup email for emergency",
                "value": "daniel.lark@example.com", // MODIFICATION ALLOWED
                "value_error": "Invalid address. Try another.", // MODIFICATION ALLOWED
                "value_choices": []
            }
        ]
    }
}

Response body: 

Content-Type: application/json

[ request_obj1,
  request_obj2,
  request_obj3
]

Change Request Status

Resource 
/requests/{id}/{new_status}
Method 
POST
Header 
Authorization: ApiKey  <key_id>:<key_secret>
Filter(s) 

Default Filter(s) 

Ordering 

Default Ordering 

Limit 

Default limit 

Status change to Approve

Resource 
/requests/{id}/approve
Method 
POST
Header 
Authorization: ApiKey  <key_id>:<key_secret>

Request body with the Activation Template ID:

Content-Type: application/json

{
   "template_id": "{activation_template_id}"
}

Request body with the Raw Markdown:

Content-Type: application/json

{
   "activation_tile": "markdown text up to 4096 symbols"
}

Status change to Fail

Resource 
/requests/{id}/fail
Method 
POST
Header 
Authorization: ApiKey  <key_id>:<key_secret>

Request body:

Content-Type: application/json

{
   "reason": "markdown string up to 4096 symbols"
}

Status change to Inquire

Resource 
/requests/{id}/inquire
Method 
POST
Header 
Authorization: ApiKey  <key_id>:<key_secret>

Request body:

Content-Type: application/json

{}

Response body:

Content-Type: application/json

{ request_obj }

Status change to Pend

Resource  
/requests/{id}/pend
Method  
POST
Header  
Authorization: ApiKey  <key_id>:<key_secret>

Request body:

Content-Type: application/json

{}

Response body:

Content-Type: application/json
Response Code: 204 No Content
{}

REST API Methods

Connect Swagger
Specs URL:https://apispec.connect.cloudblue.com/connect-openapi30.yml
Version:
Download:
Open:
Description:
Tags:
Playground
Disabled
Models
Hidden
Path prefixes:
/assets*
/requests*
Is this page helpful?
Translate with Google
Copied to clipboard