{
    "openapi":"3.0.1",
    "info":{
        "title":"REST API for Oracle Cloud Native Session Border Controller Identity Access Management, Release 1.26.0",
        "description":"For Oracle Cloud Native Session Border Controller Identity Access Management",
        "contact":{
            "name":"Oracle Inc.",
            "url":"https://www.oracle.com/contact",
            "email":"support@oracle.com"
        },
        "version":"2026.03.05",
        "x-summary":"For Oracle Cloud Native Session Border Controller Identity Access Management"
    },
    "servers":[
        {
            "url":"https://iam.sbc.com",
            "description":"Identity and Access Management (IAM) server"
        }
    ],
    "paths":{
        "/console/auth/realms/sbc/protocol/openid-connect/token":{
            "post":{
                "summary":"Request an access token",
                "description":"This operation authenticates the supplied credentials and returns the access and refresh tokens. The access token can be used as authorization bearer token to make REST API calls. The refresh token can be used to obtain a new access token if the old access token expires.",
                "tags":[
                    "Authorization"
                ],
                "requestBody":{
                    "required":true,
                    "content":{
                        "application/x-www-form-urlencoded":{
                            "schema":{
                                "oneOf":[
                                    {
                                        "$ref":"#/components/schemas/AccessTokenRequest"
                                    },
                                    {
                                        "$ref":"#/components/schemas/RefreshTokenRequest"
                                    }
                                ]
                            }
                        }
                    }
                },
                "responses":{
                    "200":{
                        "description":"Successful Access Token Request",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/TokenResponse"
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Error in the Access Token Request",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AccessTokenErr"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Error in the Access Token Request",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AccessTokenErr"
                                }
                            }
                        }
                    },
                    "405":{
                        "description":"Method Not Allowed",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AccessTokenErr"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal Server Error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AccessTokenErr"
                                }
                            }
                        }
                    },
                    "503":{
                        "description":"Service unavailable",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AccessTokenErr"
                                }
                            }
                        }
                    },
                    "default":{
                        "description":"Generic Error"
                    }
                },
                "x-internal-id":"console-auth-realms-sbc-protocol-openid-connect-token-post",
                "x-filename-id":"console-auth-realms-sbc-protocol-openid-connect-token-post"
            }
        }
    },
    "components":{
        "schemas":{
            "AccessTokenRequest":{
                "description":"Credentials for the token request",
                "type":"object",
                "required":[
                    "client_id",
                    "username",
                    "password",
                    "grant_type"
                ],
                "properties":{
                    "client_id":{
                        "type":"string",
                        "description":"An Identifier of the client which interacts with the IAM to authenticate users and obtain tokens"
                    },
                    "username":{
                        "type":"string"
                    },
                    "password":{
                        "type":"string"
                    },
                    "grant_type":{
                        "type":"string",
                        "enum":[
                            "password"
                        ]
                    }
                },
                "example":{
                    "client_id":"cnsbc-api-access",
                    "username":"foo",
                    "password":"bar",
                    "grant_type":"password"
                }
            },
            "RefreshTokenRequest":{
                "description":"Credentials for the refresh token request",
                "type":"object",
                "required":[
                    "client_id",
                    "refresh_token",
                    "grant_type"
                ],
                "properties":{
                    "client_id":{
                        "type":"string",
                        "description":"An Identifier of the client which interacts with the IAM to authenticate users and obtain tokens"
                    },
                    "refresh_token":{
                        "type":"string",
                        "format":"base64"
                    },
                    "grant_type":{
                        "type":"string",
                        "enum":[
                            "refresh_token"
                        ]
                    }
                },
                "example":{
                    "client_id":"cnsbc-api-access",
                    "refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lk",
                    "grant_type":"refresh_token"
                }
            },
            "TokenResponse":{
                "type":"object",
                "description":"Contains information related to the access token response",
                "properties":{
                    "access_token":{
                        "type":"string",
                        "format":"base64"
                    },
                    "expires_in":{
                        "type":"integer",
                        "description":"Time when the access token expires"
                    },
                    "refresh_token":{
                        "type":"string",
                        "format":"base64"
                    },
                    "refresh_expires_in":{
                        "type":"integer",
                        "description":"Time when the refresh token expires"
                    },
                    "token_type":{
                        "type":"string",
                        "enum":[
                            "Bearer"
                        ]
                    },
                    "not-before-policy":{
                        "type":"integer",
                        "description":"This ensures that any tokens issued before that time become invalid"
                    },
                    "session_state":{
                        "type":"string",
                        "format":"uuid",
                        "description":"This represents an end-user login state"
                    },
                    "scope":{
                        "type":"string",
                        "description":"This lists down the resources the client is authorized to access. Specify scopes as space-separated list. For example - scope: profile email, where profile and email are separate resources that can accessed by the client."
                    }
                },
                "required":[
                    "access_token",
                    "expires_in",
                    "refresh_token",
                    "refresh_expires_in",
                    "token_type"
                ],
                "example":{
                    "access_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia",
                    "expires_in":900,
                    "refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lk",
                    "refresh_expires_in":3600,
                    "token_type":"Bearer",
                    "not-before-policy":0,
                    "session_state":"3d5ee6c7-d2e1-48f6-8fff-9164a179175a",
                    "scope":"email profile"
                }
            },
            "AccessTokenErr":{
                "description":"Error returned in the access token response message",
                "type":"object",
                "required":[
                    "error"
                ],
                "properties":{
                    "error":{
                        "type":"string"
                    },
                    "error_description":{
                        "type":"string"
                    },
                    "error_uri":{
                        "type":"string"
                    }
                }
            }
        }
    },
    "tags":[
        {
            "name":"Authorization",
            "description":"The operations from the Authorization category."
        }
    ]
}