Create a provisioning profile

This POST operation creates a new provisioning profile on your system. If successful, you receive an HTTP response code of 201 as well as a JSON response body showing the information passed in the JSON request payload as well as an id assigned to the new plan definition.

See HTTP response codes for other response codes.

POST /pcc/spcm/provisionProfile + JSON request payload


HEADER INFO

tenant: <tenantName>

authorisation: HTTP Basic Auth

content-type: application/JSON

accept: application/hal+JSON

permissions: SPCM_PROVISION_PROFILE_CREATE_PERMISSION

JSON request payload

The following example shows a JSON payload for creating a new provisioning profile. See provisioning profile type descriptions for descriptions.

{
    "name": "turkeySauce",
    "defaultProfile": false,
    "locale": "en",
    "initialCorePlanName": "turkey",
    "subscriberClass": "gold",
    "subscriberType": "PREPAID",
    "dpsEnabled": false,
    "dpsNotification": false,
    "eosNotification": false,
    "paygNotification": false
}

JSON response

The following shows the response for the above sample. Note the id being added.

{
    "id": 39,
    "name": "turkeySauce",
    "defaultProfile": false,
    "locale": "en",
    "initialCorePlanName": "turkey",
    "subscriberClass": "gold",
    "subscriberType": "PREPAID",
    "dpsEnabled": false,
    "dpsNotification": false,
    "eosNotification": false,
    "paygNotification": false
}


Provisioning profile type descriptions

Field Type Description

id

integer

A unique identifier for the provisioning profile.

mandatory other than for creating a new profile

name

string

The name of the provisioning profile.

mandatory when creating a new profile

defaultProfile

boolean

Indicates if the profile is the default provisioning profile where true means it is the default profile and false means it is not.

mandatory when creating a new profile

initialCorePlanName

string

The name of the initial core plan.

locale

string

The subscriber’s language.

subscriberClass

string

Denotes the class of the subscriber. This could be gold or platinum or some other descriptive term for the subscriber class.

subscriberType

string

Denotes the subscriber type. This is typically prepaid or postpaid.

dpsEnabled

boolean

Indicates whether the DPS is enabled.

  • true = the dps is enabled

  • false = the dps is disabled

dpsNotification

boolean

Indicates whether the subscriber receives DPS notifications or not.

  • true = the subscriber does receive DPS notifications

  • false = the subscriber does not receive DPS notifications

eosNotification

boolean

Indicates whether the subscriber receives EOS notifications or not.

  • true = the subscriber does receive EOS notifications

  • false = the subscriber does not receive EOS notifications

paygNotification

boolean

Indicates whether the subscriber receives payG notifications or not.

  • true = the subscriber does receive payG notifications

  • false = the subscriber does not receive payG notifications

HTTP response codes

Code Description

201/204

success!

If you receive a 204 code, you will not see a JSON response.

207

Multistatus response

Check out HTTP statuses for more details.
This is not applicable to all operations.

400

malformed request

401

unauthorised; bad username or password

403

forbidden; user does not have appropriate privileges

404

provisioning profile not found

409

conflict with target resource

This often occurs if the item already exists, such as a plan, group, or name.
This is not applicable to all operations.

412

failed validation; this typically means that a property was not set or a value is out of range.

example
HTTP 412
{
  "errors" : [
        {
          "field" : "name",
          "description" : "name is mandatory"
        }
    ]
}

422

failed processing (after passing validation).

example
HTTP 422
{
    "message": "Subscriber max plan count exceeded",
    "errorCode": 1
}

500

internal error

example
HTTP/1.1 500
{
    "message": "Internal server error - [Failed to get session information]",
    "status": "error"
}

503

request rejected due to overload