Deliverd Ai Systems API
The Ai Systems API from Deliverd — 4 operation(s) for ai systems.
The Ai Systems API from Deliverd — 4 operation(s) for ai systems.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/deliverd-dev:deliverd-dev-ai-systems-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Deliverd Dev Ai Systems API
version: 1.0.0
x-refined-note:
- x-source differs across the merged source definitions and was not carried
description: 'Operations tagged Ai Systems across 2 of this provider''s published API definitions: deliverd-dev-openapi.json, deliverd-dev-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://deliverd.dev
description: 'Deliverd REST API (paths carry the /api/v1 prefix; https://deliverd.dev/llms.txt: "REST API: https://deliverd.dev/api/v1")'
tags:
- name: Ai Systems
paths:
/api/v1/ai-systems:
get:
summary: The organisation's register of AI systems
security:
- bearerAuth: []
parameters:
- schema:
type: string
enum:
- active
- retired
required: false
name: status
in: query
responses:
'200':
description: '{ aiSystems }'
content:
application/json:
schema:
type: object
additionalProperties: {}
tags:
- Ai Systems
operationId: getApiV1AiSystems
x-operation-id-source: derived
post:
summary: Register an AI system
security:
- bearerAuth: []
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 200
provider:
type:
- string
- 'null'
maxLength: 120
description: OpenAI, Anthropic, an internal team…
model:
type:
- string
- 'null'
maxLength: 200
modelVersion:
type:
- string
- 'null'
maxLength: 120
promptHash:
type:
- string
- 'null'
minLength: 1
maxLength: 200
description: A digest of the prompt it runs with (sha256:…, a commit, a version tag), never the prompt
guardrailsHash:
type:
- string
- 'null'
minLength: 1
maxLength: 200
description: A digest of its guardrail configuration, never the configuration
purpose:
type:
- string
- 'null'
maxLength: 4000
businessOwner:
type:
- string
- 'null'
maxLength: 320
technicalOwner:
type:
- string
- 'null'
maxLength: 320
environment:
type: string
enum:
- development
- pilot
- production
risk:
type: string
enum:
- low
- medium
- high
- critical
oversight:
type:
- string
- 'null'
enum:
- none
- post_action_review
- sampled_review
- human_on_the_loop
- human_in_the_loop
- pre_action_approval
- dual_approval
- null
dataClassification:
type:
- string
- 'null'
enum:
- public
- internal
- confidential
- restricted
- null
personalData:
type: boolean
customerFacing:
type: boolean
ictArrangementId:
type:
- string
- 'null'
format: uuid
description: The contract in the ICT third-party register the system runs under (GET /api/v1/governance/ict-register)
entryType:
type:
- string
- 'null'
enum:
- internal_build
- supplier_ai
- feature_in_service
- proof_of_concept
- discovered
- null
description: 'How the use came to the register: built in-house, a supplier''s AI, a feature in a service, a proof of concept, or found in use'
useScope:
type:
- string
- 'null'
enum:
- personal
- functional
- organisation
- null
description: 'Who uses it: one person for their work, a team or function, or the whole organisation'
userPopulation:
type:
- string
- 'null'
maxLength: 500
description: 'Who and how many, in a phrase: ''the 40 claims handlers'''
decisionImpact:
type:
- string
- 'null'
enum:
- none
- informs
- supports_decision
- automated_decision
- null
description: What its output feeds into
externalReach:
type:
- string
- 'null'
enum:
- internal
- customer
- public
- regulator
- null
description: Who its output reaches, furthest first
buildOrBuy:
type:
- string
- 'null'
enum:
- build
- buy
- hybrid
- null
supplier:
type:
- string
- 'null'
maxLength: 200
description: The supplier, when bought
entities:
type: array
items:
type: string
maxLength: 120
maxItems: 50
description: The legal entities that use it or are affected by it
needStatement:
type:
- string
- 'null'
maxLength: 4000
description: Why the use needs AI at all
nonAiAlternative:
type:
- string
- 'null'
maxLength: 4000
description: How the work is, or would be, done without AI
expectedBenefit:
type:
- string
- 'null'
maxLength: 4000
description: What it is expected to give
annualCost:
type:
- number
- 'null'
minimum: 0
description: Yearly cost, with costCurrency
costCurrency:
type:
- string
- 'null'
pattern: ^[A-Z]{3}$
description: ISO 4217 code, such as EUR
duplicateOf:
type:
- string
- 'null'
format: uuid
description: 'Triage: the record already in the register that this one repeats'
required:
- name
responses:
'201':
description: The system
content:
application/json:
schema:
type: object
additionalProperties: {}
'400':
description: A live system already has that name
'402':
description: The plan does not include Compliance Mode (feature_unavailable). Reads are not refused.
tags:
- Ai Systems
operationId: postApiV1AiSystems
x-operation-id-source: derived
/api/v1/ai-systems/{id}:
get:
summary: 'One AI register record: the system, its lifecycle, its roles, and the governed…'
description: '`system` is the record; `status` and `steps` say where it stands in its lifecycle and which steps out of it the caller may take (with every reason when not); `roles` are the members who answer for it; `history` is every move; `versions` are snapshots of what it said; `governedTaskIds` are the governed tasks naming it.'
security:
- bearerAuth: []
parameters:
- schema:
type: string
format: uuid
required: true
name: id
in: path
responses:
'200':
description: '{ system, template, status, steps, roles, endedRoles, history, versions, aiAct, governedTaskIds }'
content:
application/json:
schema:
type: object
additionalProperties: {}
tags:
- Ai Systems
operationId: getApiV1AiSystemsById
x-operation-id-source: derived
patch:
summary: Change an AI register record's fields
description: 'An agent cannot lower its risk. Its status is not a field: the lifecycle moves it (`POST /api/v1/ai-systems/{id}/transitions`). Each change is a new version; values a key or an agent writes are labelled in `provenance` as imported or suggested until a person saves them. 409 when the record changed since it was read.'
security:
- bearerAuth: []
parameters:
- schema:
type: string
format: uuid
required: true
name: id
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 200
provider:
type:
- string
- 'null'
maxLength: 120
description: OpenAI, Anthropic, an internal team…
model:
type:
- string
- 'null'
maxLength: 200
modelVersion:
type:
- string
- 'null'
maxLength: 120
promptHash:
type:
- string
- 'null'
minLength: 1
maxLength: 200
description: A digest of the prompt it runs with (sha256:…, a commit, a version tag), never the prompt
guardrailsHash:
type:
- string
- 'null'
minLength: 1
maxLength: 200
description: A digest of its guardrail configuration, never the configuration
purpose:
type:
- string
- 'null'
maxLength: 4000
businessOwner:
type:
- string
- 'null'
maxLength: 320
technicalOwner:
type:
- string
- 'null'
maxLength: 320
environment:
type: string
enum:
- development
- pilot
- production
risk:
type: string
enum:
- low
- medium
- high
- critical
oversight:
type:
- string
- 'null'
enum:
- none
- post_action_review
- sampled_review
- human_on_the_loop
- human_in_the_loop
- pre_action_approval
- dual_approval
- null
dataClassification:
type:
- string
- 'null'
enum:
- public
- internal
- confidential
- restricted
- null
personalData:
type: boolean
customerFacing:
type: boolean
ictArrangementId:
type:
- string
- 'null'
format: uuid
description: The contract in the ICT third-party register the system runs under (GET /api/v1/governance/ict-register)
entryType:
type:
- string
- 'null'
enum:
- internal_build
- supplier_ai
- feature_in_service
- proof_of_concept
- discovered
- null
description: 'How the use came to the register: built in-house, a supplier''s AI, a feature in a service, a proof of concept, or found in use'
useScope:
type:
- string
- 'null'
enum:
- personal
- functional
- organisation
- null
description: 'Who uses it: one person for their work, a team or function, or the whole organisation'
userPopulation:
type:
- string
- 'null'
maxLength: 500
description: 'Who and how many, in a phrase: ''the 40 claims handlers'''
decisionImpact:
type:
- string
- 'null'
enum:
- none
- informs
- supports_decision
- automated_decision
- null
description: What its output feeds into
externalReach:
type:
- string
- 'null'
enum:
- internal
- customer
- public
- regulator
- null
description: Who its output reaches, furthest first
buildOrBuy:
type:
- string
- 'null'
enum:
- build
- buy
- hybrid
- null
supplier:
type:
- string
- 'null'
maxLength: 200
description: The supplier, when bought
entities:
type: array
items:
type: string
maxLength: 120
maxItems: 50
description: The legal entities that use it or are affected by it
needStatement:
type:
- string
- 'null'
maxLength: 4000
description: Why the use needs AI at all
nonAiAlternative:
type:
- string
- 'null'
maxLength: 4000
description: How the work is, or would be, done without AI
expectedBenefit:
type:
- string
- 'null'
maxLength: 4000
description: What it is expected to give
annualCost:
type:
- number
- 'null'
minimum: 0
description: Yearly cost, with costCurrency
costCurrency:
type:
- string
- 'null'
pattern: ^[A-Z]{3}$
description: ISO 4217 code, such as EUR
duplicateOf:
type:
- string
- 'null'
format: uuid
description: 'Triage: the record already in the register that this one repeats'
status:
type: string
description: 'Not accepted: a record''s status follows its lifecycle. Take a step with its transitions instead'
responses:
'200':
description: The system
content:
application/json:
schema:
type: object
additionalProperties: {}
'402':
description: The plan does not include Compliance Mode (feature_unavailable). Reads are not refused.
tags:
- Ai Systems
operationId: patchApiV1AiSystemsById
x-operation-id-source: derived
/api/v1/ai-systems/{id}/transitions:
get:
summary: Where a register record stands in its lifecycle, the steps out of it, and every…
security:
- bearerAuth: []
parameters:
- schema:
type: string
format: uuid
required: true
name: id
in: path
responses:
'200':
description: '{ template, status, steps, history }'
content:
application/json:
schema:
type: object
additionalProperties: {}
tags:
- Ai Systems
operationId: getApiV1AiSystemsByIdTransitions
x-operation-id-source: derived
post:
summary: Take a step in a register record's lifecycle
description: A key or an agent may put a proposal forward (`submit`) or take it back (`withdraw`). Approving, rejecting, returning, suspending, reinstating and retiring are a person's, in the app. A step is refused, with every reason, when the record lacks what it needs, when the caller may not take it, or when it is a decision and the caller holds a role on the record or moved it to its current status. 409 when the record changed since it was read.
security:
- bearerAuth: []
parameters:
- schema:
type: string
format: uuid
required: true
name: id
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
transition:
type: string
pattern: ^[a-z][a-z0-9_]{0,39}$
description: 'The step''s id, from the record''s steps: submit or withdraw for an agent; every other step is a person''s, in the app'
reason:
type:
- string
- 'null'
maxLength: 4000
required:
- transition
responses:
'200':
description: The record, as GET /api/v1/ai-systems/{id}
content:
application/json:
schema:
type: object
additionalProperties: {}
'402':
description: The plan does not include Compliance Mode (feature_unavailable). Reads are not refused.
tags:
- Ai Systems
operationId: postApiV1AiSystemsByIdTransitions
x-operation-id-source: derived
/api/v1/ai-systems/{id}/model-change:
post:
summary: 'Record a new release: provider, model, model version, prompt or guardrails'
description: 'Enterprise. `promptHash` and `guardrailsHash` are digests (`sha256:…`, a commit, a version tag), never the text. Every governed task using the system gets a reassessment, which closes its gate until a person completes it, and the evaluation, resilience testing, change record and compliance approval of the old release stop counting — and, under a model-risk pack, its independent validation and model documentation. Recording a first fingerprint changes nothing; changing or removing one does. `changed` names the parts that differ from what was recorded: the same release again changes nothing and records nothing, so a build step may send it on every build.'
security:
- bearerAuth: []
parameters:
- schema:
type: string
format: uuid
required: true
name: id
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
provider:
type:
- string
- 'null'
maxLength: 120
model:
type:
- string
- 'null'
maxLength: 200
modelVersion:
type:
- string
- 'null'
maxLength: 120
promptHash:
type:
- string
- 'null'
minLength: 1
maxLength: 200
description: A digest of the new prompt (sha256:…, a commit, a version tag); null when it is no longer recorded
guardrailsHash:
type:
- string
- 'null'
minLength: 1
maxLength: 200
description: A digest of the new guardrail configuration; null when it is no longer recorded
note:
type: string
maxLength: 2000
description: What changed and why, for the record
responses:
'201':
description: '{ system, reassessments, changed }'
content:
application/json:
schema:
type: object
additionalProperties: {}
'402':
description: 'The plan does not include this capability (feature_unavailable): Compliance Mode, or the Enterprise governance capability named in the message'
tags:
- Ai Systems
operationId: postApiV1AiSystemsByIdModelChange
x-operation-id-source: derived
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'API key (dlv_…) created in Settings → API tokens, or an OAuth access token (dlvo_…). Every route below can answer `401 auth_error` — the credential was not accepted — or `403 insufficient_scope`, which is a different thing: the credential is fine and was not issued with the scope this route needs. Reissue it with that scope rather than replacing it with another of the same ones. Older clients may still branch on `auth_error` for both.'
x-refined-from:
- deliverd-dev-openapi.json
- deliverd-dev-openapi.yml