List channels
GET
/channels
const url = 'https://sandbox.partners.loops.sa/v1/channels';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://sandbox.partners.loops.sa/v1/channels \ --header 'Authorization: Bearer <token>'Channels available through Loops, with the capabilities each one supports. Use it to build your own UI and to know what a channel can do before calling it.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”The channel catalog.
Media typeapplication/json
object
data
required
Array<object>
object
id
required
string
name
required
string
type
required
string
status
required
string
capabilities
required
fields
Field availability notes, e.g. masked customer phone numbers.
object
key
additional properties
string
Example
{ "data": [ { "type": "delivery", "status": "ga", "capabilities": { "order.receive": true, "order.accept": true, "order.cancel": "with_reason" } } ]}The access token is missing, expired or invalid.
Media typeapplication/problem+json
RFC 9457 Problem Details with a stable code.
object
type
required
string format: uri
title
required
string
status
required
integer
code
required
Stable machine-readable error code. Switch on this, not on title.
string
detail
string
request_id
required
string
errors
Field errors, for invalid_request.
Array<object>
object
field
string
message
string
Example
{ "type": "https://docs.partners.loops.sa/errors/scope_not_granted", "title": "Scope not granted", "status": 403, "code": "invalid_request", "detail": "The merchant has not granted orders:read to this application.", "request_id": "req_01J9X7P2QK"}© 2026 Loops Technologies | شركة لووبز للتقنيات. All rights reserved.
