> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.shimi.cash/api-reference/shimi-api/corporate-accounts/list-fetch-corporate-sub-accounts/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.shimi.cash/_mcp/server.
# List / Fetch Corporate Sub-accounts
GET https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/coop/
List your corporate sub-accounts, or fetch one directly with `coporate_reference`.
**Query parameters**
| Param | Type | Required | Rules |
| -------------------- | ------- | -------- | -------------------------------------------------------------------------------------------------------------------- |
| `coporate_reference` | string | no | Sub-account id (`coporate_reference` from Create). When set, returns a single-item array. Must not be empty if sent. |
| `status` | string | no | `ACTIVE` or `DUPLICATE`. Default: both. |
| `page` | integer | no | >= 1, default 1. |
| `pageSize` | integer | no | 1-100, default 20. |
| `sort` | string | no | `createdAt` (default) or `balance`. |
| `order` | string | no | `asc` or `desc` (default). |
**Important:** empty query values are rejected - `?coporate_reference=` returns `400 "coporate_reference" is not allowed to be empty`. Omit/disable optional params you are not using. Unknown params are also rejected (`"" is not allowed`). Only the first validation error is returned, as a plain `message` string.
Response `balance` is a number in NGN. `meta` is included on both list and single fetch.
Reference: https://docs.shimi.cash/api-reference/shimi-api/corporate-accounts/list-fetch-corporate-sub-accounts
## Authentication
- `Authorization` header (bearer token, required) — Access token from Generate Access Token (valid 15 minutes).
## Request
### Query parameters
- `page` (string, optional)
- `pageSize` (string, optional)
- `sort` (string, optional)
- `order` (string, optional)
## Response
### 200
List / Single (coporate_reference)
- `status` (string, optional)
- `message` (string, optional)
- `data` (list of CoopGetResponsesContentApplicationJsonSchemaDataItems, optional)
- `meta` (CoopGetResponsesContentApplicationJsonSchemaMeta, optional)
## Errors
### 400 Bad Request Error
Empty query parameter / Invalid status
- `status` (string, optional)
- `message` (string, optional)
### 401 Unauthorized Error
Unauthorized
- `message` (string, optional)
### 403 Forbidden Error
Invalid or expired access token / KYB not approved / Account deactivated
- `message` (string, optional)
- `code` (string, optional)
- `kybStatus` (string, optional)
### 404 Not Found Error
Not Found
- `status` (string, optional)
- `message` (string, optional)
## Types
### CoopGetResponsesContentApplicationJsonSchemaDataItems
- `id` (string, optional)
- `accountName` (string, optional)
- `accountNumber` (string, optional)
- `balance` (double, optional)
- `status` (string, optional)
- `rn` (string, optional)
- `createdAt` (string, optional)
### CoopGetResponsesContentApplicationJsonSchemaMeta
- `page` (integer, optional)
- `pageSize` (integer, optional)
- `total` (integer, optional)
- `totalPages` (integer, optional)
- `sort` (string, optional)
- `order` (string, optional)
## Examples
### 200 List
**Response**
```json
{
"status": "success",
"message": "COOP subaccounts fetched",
"data": [
{
"id": "cm9x5a1ce0009qy8l3fj7m2pz",
"accountName": "ADEBAYO FOODS LIMITED",
"accountNumber": "0115738294",
"balance": 1250000.5,
"status": "ACTIVE",
"rn": "RC1234567",
"createdAt": "2026-10-04T10:22:41.512Z"
},
{
"id": "cm9w1z7hb0002pk4s8xq6t3dj",
"accountName": "OKAFOR LOGISTICS LTD",
"accountNumber": "0119482037",
"balance": 0,
"status": "ACTIVE",
"rn": "RC7654321",
"createdAt": "2026-10-01T15:08:12.004Z"
}
],
"meta": {
"page": 1,
"pageSize": 20,
"total": 2,
"totalPages": 1,
"sort": "createdAt",
"order": "desc"
}
}
```
**SDK Code**
```python 200 List
import requests
url = "https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/coop/"
querystring = {"order":"desc","page":"1","pageSize":"20","sort":"createdAt"}
headers = {"Authorization": "Bearer "}
response = requests.get(url, headers=headers, params=querystring)
print(response.json())
```
```javascript 200 List
const url = 'https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/coop/?order=desc&page=1&pageSize=20&sort=createdAt';
const options = {method: 'GET', headers: {Authorization: 'Bearer '}};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
```
```go 200 List
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/coop/?order=desc&page=1&pageSize=20&sort=createdAt"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer ")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
```
```ruby 200 List
require 'uri'
require 'net/http'
url = URI("https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/coop/?order=desc&page=1&pageSize=20&sort=createdAt")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer '
response = http.request(request)
puts response.read_body
```
```java 200 List
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;
HttpResponse response = Unirest.get("https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/coop/?order=desc&page=1&pageSize=20&sort=createdAt")
.header("Authorization", "Bearer ")
.asString();
```
```php 200 List
request('GET', 'https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/coop/?order=desc&page=1&pageSize=20&sort=createdAt', [
'headers' => [
'Authorization' => 'Bearer ',
],
]);
echo $response->getBody();
```
```csharp 200 List
using RestSharp;
var client = new RestClient("https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/coop/?order=desc&page=1&pageSize=20&sort=createdAt");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer ");
IRestResponse response = client.Execute(request);
```
```swift 200 List
import Foundation
let headers = ["Authorization": "Bearer "]
let request = NSMutableURLRequest(url: NSURL(string: "https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/coop/?order=desc&page=1&pageSize=20&sort=createdAt")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error as Any)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()
```
### 200 Single (coporate_reference)
**Response**
```json
{
"status": "success",
"message": "COOP subaccount fetched",
"data": [
{
"id": "cm9x5a1ce0009qy8l3fj7m2pz",
"accountName": "ADEBAYO FOODS LIMITED",
"accountNumber": "0115738294",
"balance": 1250000.5,
"status": "ACTIVE",
"rn": "RC1234567",
"createdAt": "2026-10-04T10:22:41.512Z"
}
],
"meta": {
"page": 1,
"pageSize": 1,
"total": 1,
"totalPages": 1,
"sort": "createdAt",
"order": "desc"
}
}
```
**SDK Code**
```python 200 Single (coporate_reference)
import requests
url = "https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/coop/"
querystring = {"order":"desc","page":"1","pageSize":"20","sort":"createdAt"}
headers = {"Authorization": "Bearer "}
response = requests.get(url, headers=headers, params=querystring)
print(response.json())
```
```javascript 200 Single (coporate_reference)
const url = 'https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/coop/?order=desc&page=1&pageSize=20&sort=createdAt';
const options = {method: 'GET', headers: {Authorization: 'Bearer '}};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
```
```go 200 Single (coporate_reference)
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/coop/?order=desc&page=1&pageSize=20&sort=createdAt"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer ")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
```
```ruby 200 Single (coporate_reference)
require 'uri'
require 'net/http'
url = URI("https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/coop/?order=desc&page=1&pageSize=20&sort=createdAt")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer '
response = http.request(request)
puts response.read_body
```
```java 200 Single (coporate_reference)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;
HttpResponse response = Unirest.get("https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/coop/?order=desc&page=1&pageSize=20&sort=createdAt")
.header("Authorization", "Bearer ")
.asString();
```
```php 200 Single (coporate_reference)
request('GET', 'https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/coop/?order=desc&page=1&pageSize=20&sort=createdAt', [
'headers' => [
'Authorization' => 'Bearer ',
],
]);
echo $response->getBody();
```
```csharp 200 Single (coporate_reference)
using RestSharp;
var client = new RestClient("https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/coop/?order=desc&page=1&pageSize=20&sort=createdAt");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer ");
IRestResponse response = client.Execute(request);
```
```swift 200 Single (coporate_reference)
import Foundation
let headers = ["Authorization": "Bearer "]
let request = NSMutableURLRequest(url: NSURL(string: "https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/coop/?order=desc&page=1&pageSize=20&sort=createdAt")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error as Any)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()
```