openapi: 3.0.3 info: title: Telkomsel DigiHub APIs Consent Management USSD API description: Consolidated OpenAPI for the API products Telkomsel exposes to developers and enterprises through DigiHub (https://digihub.telkomsel.com), Telkomsel's API marketplace. Paths, methods, parameters, schemas, and examples are taken verbatim from DigiHub's own published per-endpoint OpenAPI documents (served publicly at https://digihub.telkomsel.com/apis/V2/endpoint/{id}); $refs were inlined and the per-endpoint documents merged into one file. Most APIs authenticate with an api_key header plus an x-signature header of SHA256(API Key + Secret Key + epoch timestamp); the CAMARA-style SIM Swap API uses OIDC CIBA (/bc-authorize + /token) with a bearer token. Calling any of these endpoints requires a DigiHub account and a subscribed plan (sandbox, quota, tier, or PAYU); enterprise plans require an NDA or commercial contract. version: '2026-07-11' contact: url: https://digihub.telkomsel.com/showcase/contactus servers: - url: https://api.digitalcore.telkomsel.com description: Telkomsel Digital Core API gateway (primary DigiHub production host; some APIs are served from https://digihub.telkomsel.com instead - see path-level servers) security: - ApiKeyAuth: [] SignatureAuth: [] tags: - name: USSD description: USSD broadcast messaging and delivery status. paths: /digihub/ussd/broadcast: post: summary: Send USSD operationId: sendUSSD description: API to send USSD message. parameters: - in: header name: api_key example: e688u2hgpkzjd244wecywwv8 description: API Key / Package Key from Digihub required: true schema: type: string - in: header name: x-signature example: ff080f3200a5945deeb59ad65e2b33788f5df49066a82afcf8b6d5bf43ff76ea description: SHA256 (API Key + Secret Key + timeStamp). [More info](https://digihub.telkomsel.com/documentation/consumer-guide/api-authentication) required: true schema: type: string - in: header name: Content-Type required: true schema: type: string enum: - application/json requestBody: content: application/json: schema: type: object required: - transaction - ussd_broadcast properties: transaction: type: object properties: transaction_id: description: Unique Id generated at source type: string example: USSDBS190305164243721931830 channel: description: Channel ID type: string example: MP callback_domain: description: 'Callback domain of partner should matches the following format : `domain.com/callback/digihub/ussdapi`' type: string example: domain.com/callback/digihub/ussdapi ussd_broadcast: type: object required: - mms - msisdn - operation_type - ussd_content - ussd_short_code properties: mms: description: 'More Message to Send.
0 – No more further message.
1 – More message to be sent soon (for interactive mode). ' type: string enum: - '1' - '2' example: '1' msisdn: description: Subscriber mobile number type: string example: 62811xx operation_type: description: 'Operation Service Type
NI – non-interactive.
IN – interactive.
SP – shortcode-push. ' type: string enum: - NI - IN - SP example: NI ussd_content: description: 'Ussd content in url endcoded format based on the operation type.
NI – Must be filled.
IN – Must be filled.
SP – Must be empty. ' type: string example: Hello World! ussd_short_code: description: 'Ussd ShortCode.
NI – Must be empty.
IN – Must be empty.
SP – Must be filled. ' type: string example: '*123#' examples: Non Interactive Mode: value: transaction: transaction_id: USSDBS190305164243721931830 channel: MP callback_domain: domain.com/callback/digihub/ussdapi ussd_broadcast: mms: '0' msisdn: 62811xx operation_type: NI ussd_content: Test Broadcast ussd_short_code: '' Interactive Mode: value: transaction: transaction_id: USSDBS190305164243721931830 channel: MP callback_domain: domain.com/callback/digihub/ussdapi ussd_broadcast: mms: '1' msisdn: 62811xx operation_type: IN ussd_content: Test Broadcast ussd_short_code: '' Short-code Push Mode: value: transaction: transaction_id: USSDBS190305164243721931830 channel: MP callback_domain: domain.com/callback/digihub/ussdapi ussd_broadcast: mms: '1' msisdn: 62811xx operation_type: SP ussd_content: Test Broadcast ussd_short_code: '900' responses: '200': description: Success content: application/json: schema: type: object required: - transaction - ussd_broadcast properties: transaction: type: object required: - transaction_id - channel - status_code - status_desc properties: transaction_id: description: Transaction ID type: string example: C002190726165745657448250 channel: description: Unique ID of the source which had initiated the transaction type: string example: MP status_code: description: Status code type: string example: '00000' status_desc: description: Status descriptiona type: string example: Success sms_information: type: object required: - push_reference_id properties: push_reference_id: description: 'Unique reference key, format is `yyyyddMMxxxxxxxx`
`y` is year
`d` is date
`M` is month
`x` is random number from timestamp char 3 – 8. ' type: string example: 2019230154329515 '400': description: Invalid mandatory parameter / Empty mandatory parameter / Invalid callback URL content: application/json: schema: type: object required: - transaction properties: transaction: type: object required: - transaction_id - channel - status_code - status_desc properties: transaction_id: description: Transaction ID type: string example: C002190726165745657448250 channel: description: Unique ID of the source which had initiated the transaction type: string example: MP status_code: description: Status code type: string example: '00000' status_desc: description: Status descriptiona type: string example: Success examples: Invalid mandatory parameter: value: transaction: transaction_id: C002190726165745657448250 channel: MP status_code: '20002' status_desc: Invalid mandatory parameter ussd_broadcast: push_reference_id: '2019230154329515' Empty mandatory parameter: value: transaction: transaction_id: C002190726165745657448250 channel: MP status_code: '20003' status_desc: Empty mandatory parameter ussd_broadcast: push_reference_id: '2019230154329515' Invalid callback URL: value: transaction: transaction_id: C002190726165745657448250 channel: MP status_code: '20100' status_desc: Invalid callback URL ussd_broadcast: push_reference_id: '2019230154329515' '500': description: Client business error / ESB internal error / TMN communication exception content: application/json: schema: type: object required: - transaction properties: transaction: type: object required: - transaction_id - channel - status_code - status_desc properties: transaction_id: description: Transaction ID type: string example: C002190726165745657448250 channel: description: Unique ID of the source which had initiated the transaction type: string example: MP status_code: description: Status code type: string example: '00000' status_desc: description: Status descriptiona type: string example: Success examples: InvClient business error: value: transaction: transaction_id: C002190726165745657448250 channel: MP status_code: '20101' status_desc: Client business error ussd_broadcast: push_reference_id: '2019230154329515' ESB internal error: value: transaction: transaction_id: C002190726165745657448250 channel: MP status_code: '40000' status_desc: ESB internal error ussd_broadcast: push_reference_id: '2019230154329515' TMN communication exception: value: transaction: transaction_id: C002190726165745657448250 channel: MP status_code: '40004' status_desc: TMN communication exception ussd_broadcast: push_reference_id: '2019230154329515' '502': description: 'Service provider error: {consumer}-{provider}-{service provider error description}' content: application/json: schema: type: object required: - transaction properties: transaction: type: object required: - transaction_id - channel - status_code - status_desc properties: transaction_id: description: Transaction ID type: string example: C002190726165745657448250 channel: description: Unique ID of the source which had initiated the transaction type: string example: MP status_code: description: Status code type: string example: '00000' status_desc: description: Status descriptiona type: string example: Success example: transaction: transaction_id: C002190726165745657448250 channel: MP status_code: 30xxx status_desc: 'Service provider error: {consumer}-{provider}-{service provider error description}' ussd_broadcast: push_reference_id: '2019230154329515' '503': description: Service provider unreachable content: application/json: schema: type: object required: - transaction properties: transaction: type: object required: - transaction_id - channel - status_code - status_desc properties: transaction_id: description: Transaction ID type: string example: C002190726165745657448250 channel: description: Unique ID of the source which had initiated the transaction type: string example: MP status_code: description: Status code type: string example: '00000' status_desc: description: Status descriptiona type: string example: Success example: transaction: transaction_id: C002190726165745657448250 channel: MP status_code: '10001' status_desc: Service provider unreachable ussd_broadcast: push_reference_id: '2019230154329515' callbacks: deliveryReport: https://{$request.body#/transaction/callback_domain}: post: requestBody: content: application/json: schema: type: object required: - transaction_id - push_reference_id - status - content properties: transaction_id: description: Transaction ID type: string example: C002190726165745657448250 push_reference_id: description: Ussd pusdh reference id type: string example: '2018122654329521' status: description: Delivery report status type: string enum: - SENDING - DELIVRD - UNDELIV example: DELIVRD content: description: Content of delivery, if content contains “error:” then sending ussd is undeliv type: string example: 'Yes' responses: 2XX: description: Your server implementation should return this HTTP status code if the data was received successfully summary: Delivery report callback (deliveryReport) tags: - USSD externalDocs: description: 'DigiHub endpoint reference: Send USSD' url: https://digihub.telkomsel.com/apis/V2/endpoint/77 /digihub/ussd/deliverystatus: get: summary: Get USSD Delivery Status operationId: getUssdDeliveryStatus description: This service as a module to get delivery status which are initiated by developer / partner. parameters: - in: header name: api_key example: e688u2hgpkzjd244wecywwv8 description: API Key / Package Key from Digihub required: true schema: type: string - in: header name: x-signature example: ff080f3200a5945deeb59ad65e2b33788f5df49066a82afcf8b6d5bf43ff76ea description: SHA256 (API Key + Secret Key + timeStamp). [More info](https://digihub.telkomsel.com/documentation/consumer-guide/api-authentication) required: true schema: type: string - in: header name: Content-Type required: true schema: type: string enum: - application/json - in: query name: transaction_id required: true description: Transaction ID schema: type: string example: C002190926121907251312345 - in: query name: push_reference_id required: true description: Ussd pusdh reference id schema: type: string example: 2018122654329521 responses: '200': description: Success content: application/json: schema: type: object required: - transaction - ussd_delivery properties: transaction: type: object required: - transaction_id - status_code - status_desc properties: transaction_id: type: string description: Transaction ID example: C002190726165745657448250 status_code: type: string description: Status code example: '00000' status_desc: type: string description: Status description example: Success sms_information: type: object required: - transaction_id - network_reference_id - push_reference_id - msisdn - status properties: transaction_id: description: Transaction ID type: string example: USSDBS191015145758378931830 network_reference_id: description: Network reference id type: string example: 00501CB85DA57C06 push_reference_id: description: Push reference id type: string example: '2019151071126278' msisdn: description: Subscriber MSISDN type: string example: 62811xx status: description: Delivery status of USSD type: string example: DELIVRD default: description: Non-success response content: application/json: schema: type: object required: - transaction properties: transaction: type: object required: - transaction_id - status_code - status_desc properties: transaction_id: type: string description: Transaction ID example: C002190726165745657448250 status_code: type: string description: Status code example: '00000' status_desc: type: string description: Status description example: Success example: transaction: transaction_id: C002190726165745657448250 status_code: '20001' status_desc: Empty mandatory parameter tags: - USSD externalDocs: description: 'DigiHub endpoint reference: Delivery Status' url: https://digihub.telkomsel.com/apis/V2/endpoint/78 components: securitySchemes: ApiKeyAuth: type: apiKey in: header name: api_key description: API Key / Package Key issued per subscribed DigiHub application. SignatureAuth: type: apiKey in: header name: x-signature description: SHA256(API Key + Secret Key + current epoch timestamp in seconds, UTC). Required alongside api_key on every request. See https://digihub.telkomsel.com/documentation/consumer-guide/api-authentication BearerAuth: type: http scheme: bearer description: Bearer access token obtained via the OIDC CIBA flow (POST /bc-authorize then POST /token). Used by the CAMARA-style SIM Swap API. externalDocs: description: DigiHub Consumer Guide url: https://digihub.telkomsel.com/documentation