This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Budget

Overview

SCP Budget Provides an Application Programming Interface (API) that supports programmatic use of IaaS/PaaS products provided by SCP.

This guide provides a brief description of Budget service and how to call API. The API is provided as a RESTful API, and it responds in JSON format.

Version

VersionStatusSupported Until

OpenAPI URL

https://budget.{environment}.samsungsdscloud.com

Environment and Region List

environmentregion
skr-west1
skr-east1
gkr-south1
gkr-south2
gkr-south3
ekr-west1
ekr-east1

1 - APIs

1.1 - CreateAccountBudget

1.1.1 - 1.0

post /v1/budgets/account

Description

create a account budget

State ACTIVE (CURRENT)

VersionSupported Until
1.0-

Parameters

TypeNameDescriptionSchemaDefault
bodybody
required

BudgetCreateRequest

Responses

HTTP CodeDescriptionSchema
201CreatedBudgetAccountShowResponse
400Bad RequestNone
401UnauthorizedNone
403ForbiddenNone
409ConflictNone

Example HTTP request

Request path

/v1/budgets/account

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = budget 1.0"

Request body

{
    "amount": 1000000,
    "name": "test_budget",
    "notifications": {
        "is_use_notification": true,
        "notification_send_period": "FIRST",
        "receivers": [
            "test_user1@test.com",
            "test_user2@test.com"
        ],
        "thresholds": [
            80
        ]
    },
    "prevention": {
        "is_use_prevention": true,
        "receivers": [
            "test_user1@test.com",
            "test_user2@test.com"
        ],
        "threshold": 80
    },
    "start_month": "2026-01",
    "unit": "MONTHLY"
}

Example HTTP response

Response 201

{
    "budget": {
        "amount": 1000000,
        "created_at": "2025-11-01T00:00:00",
        "created_by": "TEST",
        "id": "240200fd2b02490ca63bb3965048b493",
        "modified_at": "2025-11-01T00:00:00",
        "modified_by": "TEST",
        "name": "my_budget_ex",
        "start_month": "2025-11",
        "type": "COST",
        "unit": "MONTHLY"
    },
    "notifications": {
        "is_use_notification": true,
        "notification_send_period": "FIRST",
        "receivers": [
            "test_user1@test.com",
            "test_user2@test.com"
        ],
        "thresholds": [
            80
        ]
    },
    "prevention": {
        "is_use_prevention": true,
        "receivers": [
            "test_user1@test.com",
            "test_user2@test.com"
        ],
        "threshold": 80
    }
}

1.2 - DeleteAccountBudget

1.2.1 - 1.0

delete /v1/budgets/account/{budget_id}

Description

delete a specific account budget

State ACTIVE (CURRENT)

VersionSupported Until
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathbudget_id
required
Budget id
Example : 240200fd2b02490ca63bb3965048b493
stringNone

Responses

HTTP CodeDescriptionSchema
204No ContentNone
401UnauthorizedNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/budgets/account/{budget_id}

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = budget 1.0"

Example HTTP response

Response 204

1.3 - ListAccountBudgets

1.3.1 - 1.0

get /v1/budgets/account

Description

get account budgets list

State ACTIVE (CURRENT)

VersionSupported Until
1.0-

Parameters

TypeNameDescriptionSchemaDefault
querysize
optional
size
Example : 20
any of [integer, null]20
querypage
optional
page
Example : 0
any of [integer, null]0
querysort
optional
sort
Example : created_at:desc
any of [string, null]None
querysearch_name
optional
Budget name
Example : my_budget_ex
any of [string, null]None
querybudget_name
optional
Budget name
Example : my_budget_ex
any of [string, null]None

Responses

HTTP CodeDescriptionSchema
200OKBudgetAccountPageResponse
400Bad RequestNone
401UnauthorizedNone
403ForbiddenNone

Example HTTP request

Request path

/v1/budgets/account

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = budget 1.0"

Example HTTP response

Response 200

{
    "budgets": [
        {
            "amount": 1000000,
            "created_at": "2025-11-01T00:00:00",
            "created_by": "TEST",
            "id": "240200fd2b02490ca63bb3965048b493",
            "modified_at": "2025-11-01T00:00:00",
            "modified_by": "TEST",
            "name": "my_budget_ex",
            "start_month": "2025-11",
            "type": "COST",
            "unit": "MONTHLY"
        }
    ],
    "count": 20,
    "page": 0,
    "size": 20,
    "sort": [
        "created_at:asc"
    ]
}

1.4 - SetAccountBudget

1.4.1 - 1.0

put /v1/budgets/account/{budget_id}

Description

set a specific account budget

State ACTIVE (CURRENT)

VersionSupported Until
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathbudget_id
required
Budget id
Example : 240200fd2b02490ca63bb3965048b493
stringNone
bodybody
required

BudgetSetRequest

Responses

HTTP CodeDescriptionSchema
200OKBudgetAccountShowResponse
400Bad RequestNone
401UnauthorizedNone
403ForbiddenNone
404Not FoundNone
409ConflictNone

Example HTTP request

Request path

/v1/budgets/account/{budget_id}

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = budget 1.0"

Request body

{
    "amount": 1000000,
    "name": "test_budget",
    "notifications": {
        "is_use_notification": true,
        "notification_send_period": "FIRST",
        "receivers": [
            "test_user1@test.com",
            "test_user2@test.com"
        ],
        "thresholds": [
            80
        ]
    },
    "prevention": {
        "is_use_prevention": true,
        "receivers": [
            "test_user1@test.com",
            "test_user2@test.com"
        ],
        "threshold": 80
    },
    "start_month": "2026-01",
    "unit": "MONTHLY"
}

Example HTTP response

Response 200

{
    "budget": {
        "amount": 1000000,
        "created_at": "2025-11-01T00:00:00",
        "created_by": "TEST",
        "id": "240200fd2b02490ca63bb3965048b493",
        "modified_at": "2025-11-01T00:00:00",
        "modified_by": "TEST",
        "name": "my_budget_ex",
        "start_month": "2025-11",
        "type": "COST",
        "unit": "MONTHLY"
    },
    "notifications": {
        "is_use_notification": true,
        "notification_send_period": "FIRST",
        "receivers": [
            "test_user1@test.com",
            "test_user2@test.com"
        ],
        "thresholds": [
            80
        ]
    },
    "prevention": {
        "is_use_prevention": true,
        "receivers": [
            "test_user1@test.com",
            "test_user2@test.com"
        ],
        "threshold": 80
    }
}

1.5 - ShowAccountBudget

1.5.1 - 1.0

get /v1/budgets/account/{budget_id}

Description

show a specific account budget

State ACTIVE (CURRENT)

VersionSupported Until
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathbudget_id
required
Budget id
Example : 240200fd2b02490ca63bb3965048b493
stringNone

Responses

HTTP CodeDescriptionSchema
201CreatedBudgetAccountShowResponse
401UnauthorizedNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/budgets/account/{budget_id}

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = budget 1.0"

Example HTTP response

Response 201

{
    "budget": {
        "amount": 1000000,
        "created_at": "2025-11-01T00:00:00",
        "created_by": "TEST",
        "id": "240200fd2b02490ca63bb3965048b493",
        "modified_at": "2025-11-01T00:00:00",
        "modified_by": "TEST",
        "name": "my_budget_ex",
        "start_month": "2025-11",
        "type": "COST",
        "unit": "MONTHLY"
    },
    "notifications": {
        "is_use_notification": true,
        "notification_send_period": "FIRST",
        "receivers": [
            "test_user1@test.com",
            "test_user2@test.com"
        ],
        "thresholds": [
            80
        ]
    },
    "prevention": {
        "is_use_prevention": true,
        "receivers": [
            "test_user1@test.com",
            "test_user2@test.com"
        ],
        "threshold": 80
    }
}

2 - Models

2.1 - BudgetAccountPageResponse

NameDescriptionSchemaDefault
budgets
required

array[BudgetAccountUnit]
count
required
count
Example : 20
integer
page
required
page
Example : 0
integer
size
required
size
Example : 20
integer
sort
optional
sort
Example : ['created_at:asc']
any of [array[string], null]

2.2 - BudgetAccountShowResponse

NameDescriptionSchemaDefault
budget
required

BudgetShowDetail
notifications
required

NotificationSetting
prevention
required

PreventionSetting

2.3 - BudgetAccountUnit

NameDescriptionSchemaDefault
amount
required
Budget amount
Example : 1000000
integer
created_at
optional
Created datetime
Example : 2025-11-01T00:00:00
string (date-time)
created_by
optional
Created user
Example : TEST
string
id
required
Budget id
Example : 240200fd2b02490ca63bb3965048b493
string
modified_at
optional
Modified datetime
Example : 2025-11-01T00:00:00
string (date-time)
modified_by
optional
Modified user
Example : TEST
string
name
required
Budget name
Example : my_budget_ex
string
start_month
required
Budget start month (ex.YYYY-MM)
Example : 2025-11
string
type
required
Budget type
Example : COST
string
unit
required
Budget management unit (MONTHLY or OVERALL)
Example : MONTHLY
string

2.4 - BudgetCreateRequest

NameDescriptionSchemaDefault
amount
required
Budget amount
Example : 1000000
integer
name
required
Budget name
Example : test_budget
string
notifications
optional
Notification settings for the budget.
any of [NotificationSettingNew, null]
prevention
optional
Auto generation prevention settings for the budget.
any of [PreventionSettingNew, null]
start_month
required
Budget start month (ex.YYYY-MM)
Example : 2026-01
string
unit
required
Budget management unit (MONTHLY or OVERALL)
Example : MONTHLY
string

2.5 - BudgetSetRequest

NameDescriptionSchemaDefault
amount
required
Budget amount
Example : 1000000
integer
name
required
Budget name
Example : test_budget
string
notifications
optional
Notification settings for the budget.
any of [NotificationSettingNew, null]
prevention
optional
Auto generation prevention settings for the budget.
any of [PreventionSettingNew, null]
start_month
required
Budget start month (ex.YYYY-MM)
Example : 2026-01
string
unit
required
Budget management unit (MONTHLY or OVERALL)
Example : MONTHLY
string

2.6 - BudgetShowDetail

NameDescriptionSchemaDefault
amount
required
Budget amount
Example : 1000000
integer
created_at
optional
Created datetime
Example : 2025-11-01T00:00:00
string (date-time)
created_by
optional
Created user
Example : TEST
string
id
required
Budget id
Example : 240200fd2b02490ca63bb3965048b493
string
modified_at
optional
Modified datetime
Example : 2025-11-01T00:00:00
string (date-time)
modified_by
optional
Modified user
Example : TEST
string
name
required
Budget name
Example : my_budget_ex
string
start_month
required
Budget start month (ex.YYYY-MM)
Example : 2025-11
string
type
required
Budget type
Example : COST
string
unit
required
Budget management unit (MONTHLY or OVERALL)
Example : MONTHLY
string

2.7 - NotificationSetting

NameDescriptionSchemaDefault
is_use_notification
optional
Notification use state
Example : True
any of [boolean, null]True
notification_send_period
optional
The notification frequency can be FIRST, DAILY, or NONE.
Example : FIRST
any of [string, null]FIRST
receivers
optional
Threshold exceed notification recipient email list.
Example : ['test_user1@test.com', 'test_user2@test.com']
any of [array[string], null][’test_user1@test.com’, ’test_user2@test.com']
thresholds
optional
Thresholds for receiving threshold exceed notification email: 70/80/90/100.
Example : [80]
any of [array[integer], null][80]

2.8 - NotificationSettingNew

NameDescriptionSchemaDefault
is_use_notification
optional
Notification use state
Example : True
any of [boolean, null]True
notification_send_period
optional
The notification frequency can be FIRST, DAILY, or NONE.
Example : FIRST
any of [string, null]FIRST
receivers
optional
Threshold exceed notification recipient email list.
Example : ['test_user1@test.com', 'test_user2@test.com']
any of [array[string], null][’test_user1@test.com’, ’test_user2@test.com']
thresholds
optional
Thresholds for receiving threshold exceed notification email: 70/80/90/100.
Example : [80]
any of [array[integer], null][80]

2.9 - PreventionSetting

NameDescriptionSchemaDefault
is_use_prevention
optional
Auto Generation prevent use state
Example : True
any of [boolean, null]True
receivers
optional
Prevention notification recipient email list.
Example : ['test_user1@test.com', 'test_user2@test.com']
any of [array[string], null][’test_user1@test.com’, ’test_user2@test.com']
threshold
optional
Threshold for receiving prevention notification email: 70/80/90/100.
Example : 80
any of [integer, null]80

2.10 - PreventionSettingNew

NameDescriptionSchemaDefault
is_use_prevention
optional
Auto Generation prevent use state
Example : True
any of [boolean, null]True
receivers
optional
Prevention notification recipient email list.
Example : ['test_user1@test.com', 'test_user2@test.com']
any of [array[string], null][’test_user1@test.com’, ’test_user2@test.com']
threshold
optional
Threshold for receiving prevention notification email: 70/80/90/100.
Example : 80
any of [integer, null]80