---
title: "List software profiles"
method: GET
path: "/api/v1/software"
tags: ["Software"]
---

# List software profiles

`GET /api/v1/software`

## Request

- Base URL: `https://ailawframework.com`
- URL: `https://ailawframework.com/api/v1/software`
- Auth: HTTP bearer

Product profiles in the software catalogue. Research, not approval.

## Query parameters

- `page` integer
- `per_page` integer
- `category` string
- `segment` string
- `capability` string
- `q` string

## Response `200`

A page of profiles.

- object
  - `data` SoftwareProfile[], required
    - `id` string
    - `vendor` string
    - `product` string
    - `plan_scope` string
    - `positioning` string
    - `category` string
    - `segment` string, nullable: Segment id.
    - `segment_label` string, nullable: Segment label.
    - `capabilities` object[]
      - `id` string
      - `label` string
    - `facts` object: Website, hosting regions, model providers, training on customer content, pricing, assurance and so on. Coded values are labelled in GET /framework under vocabularies.
    - `considerations` object[]
      - `field_id` string, nullable: Assessment field.
      - `topic` string
      - `confirmation` 'confirmed' | 'public_claim' | 'not_confirmed'
      - `confirmation_label` string
      - `finding` string
      - `question` string, nullable: Open question.
      - `source_ids` string[]: Source ids.
    - `source_ids` string[]: Source ids.
    - `confidence` string, nullable: Confidence.
    - `notes` string, nullable: Notes.
    - `reviewed_at` string, nullable: Date reviewed.
    - `url` string, uri
    - `sources` SoftwareSource[]: Only on the detail endpoint.
      - `id` string
      - `title` string
      - `url` string, uri
      - `reviewed_at` string, nullable: Date reviewed.
  - `links` Links, required: Page links, as a Laravel LengthAwarePaginator renders them. Follow next until it is null.
    - `first` string, uri
    - `last` string, uri
    - `prev` string, uri, nullable
    - `next` string, uri, nullable
  - `meta` ListMeta, required: Paging details and the notice.
    - `current_page` integer
    - `from` integer, nullable
    - `last_page` integer
    - `path` string, uri
    - `per_page` integer
    - `to` integer, nullable
    - `total` integer
    - `notice` string: The planning-guidance disclaimer. Show it wherever you show the guidance.

## Other responses

- `304`: The If-None-Match you sent matches: nothing has changed.
- `401`: No key, or not a configured key.
- `422`: A parameter has a bad value.
- `503`: The database could not be read. Retry. Nothing partial is ever returned.

---

[API](https://skmtc.dev/ailawframework/apis/ai-law-framework-data-api.md) · [All operations](https://skmtc.dev/ailawframework/apis/ai-law-framework-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ailawframework/apis/ai-law-framework-data-api/revisions/34dac450f68c?raw)
