List supplier questionnaires

GET /supplier-assessment-templates

Scope supplier_template:read Plan Growth+

List the questionnaires of the organization, newest change first: the built-in questionnaire (always the first row of an unfiltered first page) and every authored version, drafts included. A row carries no sections; read one questionnaire to get its content. Requires the supplier_template:read scope.

Example

curl "https://api.autociso.io/api/v1/supplier-assessment-templates" \
  -H "Authorization: Bearer <your-api-token>"

Response 200

{
  "data": [
    {
      "templateId": "satpl_builtin_supplier_security_privacy_v1",
      "templateKey": "supplier_security_privacy",
      "version": 1,
      "titleKey": "supplier.template.builtin.title",
      "title": {
        "en": "Supplier security and privacy"
      },
      "source": "builtin",
      "status": "published",
      "active": true,
      "isDefault": true,
      "questionCount": 62,
      "updatedAt": "2026-09-01T09:00:00Z",
      "permissions": {
        "canEdit": false,
        "canSubmit": false,
        "canWithdraw": false,
        "canReject": false,
        "canPublish": null,
        "canSetDefault": false,
        "canArchive": false,
        "canDelete": false,
        "publishBlockedReason": null
      }
    }
  ],
  "meta": {
    "total": 1,
    "limit": 25
  }
}

Query parameters

  • limit integer
    Page size. Default 25, maximum 500. minimum 1, maximum 500, default 25
  • offset integer
    Zero-based offset. minimum 0, default 0
  • sort[status] string
    "asc" | "desc"
  • sort[updatedAt] string
    Default order is updatedAt descending.
    "asc" | "desc"
  • filter[status][eq] string
    draft and submitted are open (editable or awaiting approval); published is the live version; archived is retired.
    "draft" | "submitted" | "published" | "archived"
  • filter[status][ne] string
    draft and submitted are open (editable or awaiting approval); published is the live version; archived is retired.
    "draft" | "submitted" | "published" | "archived"
  • filter[status][in] array of string
    "draft" | "submitted" | "published" | "archived"
  • filter[source][eq] string
    "builtin" | "authored"
  • filter[templateKey][eq] string
    All versions of one questionnaire.
  • filter[isDefault][eq] boolean
  • filter[updatedAt][gt] string (date-time)
  • filter[updatedAt][gte] string (date-time)
  • filter[updatedAt][lt] string (date-time)
  • filter[updatedAt][lte] string (date-time)

Returns

The data field of the standard { data, error, meta } envelope:

An array of object:

  • templateId string required
  • templateKey string required
  • version integer required
  • titleKey string required
  • descriptionKey string
  • title object
    Text per locale. en is required; ru and he fall back to en when blank. At most 500 characters per locale (2000 for a description); HTML is rejected.
    • en string required
      minLength 1, maxLength 500
    • ru string
      maxLength 500
    • he string
      maxLength 500
  • description object
    Text per locale. en is required; ru and he fall back to en when blank. At most 500 characters per locale (2000 for a description); HTML is rejected.
    • en string required
      minLength 1, maxLength 500
    • ru string
      maxLength 500
    • he string
      maxLength 500
  • source string
    "builtin" | "authored"
  • status string
    draft and submitted are open (editable or awaiting approval); published is the live version; archived is retired.
    "draft" | "submitted" | "published" | "archived"
  • active boolean required
  • isDefault boolean
  • questionCount integer
  • updatedAt string (date-time) required
  • updatedBy string
  • permissions object required
    What the caller may do with this version right now.
    • canEdit boolean required
    • canSubmit boolean required
    • canWithdraw boolean required
    • canReject boolean required
    • canPublish boolean or null required
    • canSetDefault boolean required
    • canArchive boolean required
    • canDelete boolean required
    • publishBlockedReason string or null required

The meta field:

  • total integer required
  • limit integer
  • offset integer

Errors

Status Code Retry Meaning
400 VALIDATION_FAILED no Unknown or malformed query parameter. code VALIDATION_FAILED.
401 INVALID_TOKEN no Missing (UNAUTHORIZED) or invalid, expired or revoked (INVALID_TOKEN) token.
402 FEATURE_GATED no The tenant plan does not include supply chain security. code FEATURE_GATED; args.feature, args.minTier, args.minTierName.
403 INSUFFICIENT_SCOPE no The token lacks the required scope (INSUFFICIENT_SCOPE), or the request is refused (FORBIDDEN, INSUFFICIENT_ROLE for a draft the caller may not read).
429 RATE_LIMITED yes Too many failed authentication attempts from this address. code RATE_LIMITED; wait Retry-After seconds.
500 DB_ERROR no Unexpected server error. code DB_ERROR; quote error.id to support.
503 BILLING_UNAVAILABLE yes Billing is temporarily unavailable, so the plan could not be checked. code BILLING_UNAVAILABLE. Retry later.
Last reviewed: 2026-10-13

Was this page helpful?

Esc