Skip to main content

Limiting Results

List endpoints accept a limit query parameter. The default and maximum vary by endpoint.
EndpointDefaultMaximum
GET /api/v1/sessions50100
GET /api/v1/knowledge50100
GET /api/v1/procedures200500
GET /api/v1/notifications20100
The API does not provide page, offset, or cursor parameters, and does not return a continuation token for fetching the next page.

Response Shape

List endpoints return an array of resources together with a count field.
{
  "ok": true,
  "sessions": [
    // array of sessions
  ],
  "count": 23
}

Response Fields

FieldTypeDescription
okbooleantrue on success
sessions / articles / procedures / notifications / integrationsarrayResource array (key name depends on endpoint)
countintegerNumber of items in this response
count is the count in this response, not a tenant-wide total.

Filters

Some list endpoints accept filter parameters.

GET /api/v1/sessions

ParameterValuesDescription
statusopen / in_progress / pending_approval / resolvedFilter by status
assigneeTypeunassigned / ai_agent / human_agent / requesterFilter by assignee type

GET /api/v1/knowledge

ParameterDescription
categoryFilter by category
typeFilter by knowledge type
About assigneeType and type filtersassigneeType (sessions) and type (knowledge) are applied in memory after the first limit rows are read from DynamoDB. When either filter is set, count in the response reflects matches within those first limit rows only — not the tenant-wide total.For exhaustive enumeration, omit these filters and filter on the client side.

Examples

cURL

# Default 50 items
curl -H "X-API-Key: YOUR_API_KEY" \
  https://assist.i.moneyforward.com/api/v1/sessions

# Up to 100 items
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://assist.i.moneyforward.com/api/v1/sessions?limit=100"

# Only open sessions
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://assist.i.moneyforward.com/api/v1/sessions?status=open"

JavaScript

async function fetchSessions({ status, limit = 50 } = {}) {
  const params = new URLSearchParams();
  if (status) params.set('status', status);
  params.set('limit', String(limit));

  const response = await fetch(
    `https://assist.i.moneyforward.com/api/v1/sessions?${params}`,
    {
      headers: {
        'X-API-Key': 'YOUR_API_KEY'
      }
    }
  );

  return response.json();
}

Best Practices

  1. Do not request more than you need with limit — larger responses take longer to fetch and parse.
  2. When using assigneeType or type filters, remember count is partial. If you need a complete enumeration, fetch without the filter and filter client-side.
  3. Keep concurrency below ~20 RPS per API key to avoid pressuring upstream DynamoDB capacity.
Last modified on May 18, 2026