openapi: 3.1.0 info: title: Cellulant Tingg Checkout Acknowledgement Authentication API description: 'Tingg Checkout 3.0 — accept payments across 25+ African markets through a single integration. Supports Express Checkout (hosted/modal) and Custom Checkout (host-to-host) for mobile money, cards, and direct bank transfer. ' version: 3.0.0 contact: name: Cellulant Developer Support url: https://developer.tingg.africa email: developer@cellulant.io license: name: Cellulant Terms of Service url: https://www.cellulant.io/terms servers: - url: https://api.tingg.africa description: Production - url: https://api-approval.tingg.africa description: Sandbox security: - BearerAuth: [] ApiKeyAuth: [] tags: - name: Authentication description: OAuth 2.0 access token issuance for Tingg API calls. paths: /v1/oauth/token/request: post: summary: Request OAuth Access Token description: Exchange clientId, clientSecret, and apiKey for a bearer access token used to authorize subsequent Tingg API requests. operationId: requestAccessToken tags: - Authentication requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TokenRequest' examples: TokenRequestExample: $ref: '#/components/examples/TokenRequestExample' responses: '200': description: Token issued content: application/json: schema: $ref: '#/components/schemas/TokenResponse' examples: TokenResponseExample: $ref: '#/components/examples/TokenResponseExample' 4XX: $ref: '#/components/responses/ErrorResponse' components: examples: TokenRequestExample: summary: OAuth token request value: grant_type: client_credentials client_id: 1234567890abcdef client_secret: clsec_abcdefghijklmnopqr TokenResponseExample: summary: OAuth token response value: access_token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9... token_type: Bearer expires_in: 3599 schemas: Error: type: object properties: status_code: type: integer status_description: type: string errors: type: array items: type: object properties: code: type: string message: type: string TokenRequest: type: object required: - grant_type - client_id - client_secret properties: grant_type: type: string enum: - client_credentials client_id: type: string client_secret: type: string TokenResponse: type: object properties: access_token: type: string token_type: type: string example: Bearer expires_in: type: integer description: Lifetime in seconds. responses: ErrorResponse: description: Error response content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT ApiKeyAuth: type: apiKey in: header name: apikey description: Merchant apiKey issued in the Tingg integration dashboard.