Decision Anchor DAP Auth API

DAP owner authentication (session-based)

Operations 7

POST /dap/register Register DAP owner #
GET /dap/register/suggested-country Suggest residence country from request (registration page load) #
POST /dap/auth/agent-login Agent-owner login: agent auth_token to dap_owner session #
POST /dap/owner/register-agent Register an agent as an agent-type dap_owner (human owner only) #
POST /dap/login DAP login #
POST /dap/logout DAP logout #
PUT /dap/password Change password #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/decision-anchor-com-dap-auth-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API 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 Specification

decision-anchor-com-dap-auth-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 'Decision Anchor: The External Anchoring Layer for AI Agents…'
  description: Decision Anchor is the External Anchoring Layer for AI agents, providing Content-blind Accountability for agent decisions, delegations, and disputes.
  version: 1.3.42
  contact:
    name: Decision Anchor
    email: contact@decision-anchor.com
servers:
- url: https://api.decision-anchor.com
  description: Production
tags:
- name: DAP Auth
  description: DAP owner authentication (session-based)
paths:
  /dap/register:
    post:
      tags:
      - DAP Auth
      summary: Register DAP owner
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - email
              - password
              - terms_agreed
              - privacy_agreed
              properties:
                email:
                  type: string
                  format: email
                password:
                  type: string
                browser_language:
                  type: string
                timezone:
                  type: string
                terms_agreed:
                  type: boolean
                  description: 'REQUIRED. Must be true: explicit agreement to the Terms of Service. 400 TERMS_REQUIRED otherwise.'
                privacy_agreed:
                  type: boolean
                  description: 'REQUIRED. Must be true: explicit agreement to the Privacy Policy. 400 PRIVACY_REQUIRED otherwise.'
      responses:
        '201':
          description: Registration successful
      operationId: postDapRegister
      x-operation-id-source: derived
  /dap/register/suggested-country:
    get:
      tags:
      - DAP Auth
      summary: Suggest residence country from request (registration page load)
      responses:
        '200':
          description: Suggested country
          content:
            application/json:
              schema:
                type: object
                properties:
                  suggested_country:
                    type: string
                  detection_source:
                    type: string
                  detection_raw:
                    type: string
      operationId: getDapRegisterSuggestedCountry
      x-operation-id-source: derived
  /dap/auth/agent-login:
    post:
      tags:
      - DAP Auth
      summary: 'Agent-owner login: agent auth_token to dap_owner session'
      description: Bearer agent auth_token. The agent must already be registered as an agent-type dap_owner (POST /dap/owner/register-agent). Feature-flagged (503 when disabled).
      security:
      - AgentToken: []
      responses:
        '200':
          description: Session established
          content:
            application/json:
              schema:
                type: object
                properties:
                  owner_id:
                    type: string
                    format: uuid
                  owner_type:
                    type: string
                  managing_agent_id:
                    type: string
                    format: uuid
                  parent_owner_id:
                    type: string
                    format: uuid
                  owner_depth:
                    type: integer
        '401':
          description: Missing or invalid token
        '403':
          description: Agent not registered as dap_owner
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Feature disabled
      operationId: postDapAuthAgentLogin
      x-operation-id-source: derived
  /dap/owner/register-agent:
    post:
      tags:
      - DAP Auth
      summary: Register an agent as an agent-type dap_owner (human owner only)
      security:
      - DAPSession: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - agent_id
              properties:
                agent_id:
                  type: string
                  format: uuid
      responses:
        '201':
          description: Agent owner registered
          content:
            application/json:
              schema:
                type: object
                properties:
                  owner_id:
                    type: string
                    format: uuid
                  owner_type:
                    type: string
                  managing_agent_id:
                    type: string
                    format: uuid
                  parent_owner_id:
                    type: string
                    format: uuid
                  owner_depth:
                    type: integer
        '400':
          description: agent_id required
      operationId: postDapOwnerRegisterAgent
      x-operation-id-source: derived
  /dap/login:
    post:
      tags:
      - DAP Auth
      summary: DAP login
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - email
              - password
              properties:
                email:
                  type: string
                  format: email
                password:
                  type: string
      responses:
        '200':
          description: Login successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  owner_id:
                    type: string
                    format: uuid
                  email:
                    type: string
      operationId: postDapLogin
      x-operation-id-source: derived
  /dap/logout:
    post:
      tags:
      - DAP Auth
      summary: DAP logout
      responses:
        '200':
          description: Logout successful
      operationId: postDapLogout
      x-operation-id-source: derived
  /dap/password:
    put:
      tags:
      - DAP Auth
      summary: Change password
      security:
      - DAPSession: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - current_password
              - new_password
              properties:
                current_password:
                  type: string
                new_password:
                  type: string
      responses:
        '200':
          description: Update successful
      operationId: putDapPassword
      x-operation-id-source: derived
components:
  schemas:
    Error:
      type: object
      required:
      - error_code
      - message
      properties:
        error_code:
          type: string
        message:
          type: string
  securitySchemes:
    AgentToken:
      type: http
      scheme: bearer
      description: Agent auth_token issued at registration (POST /v1/agent/register). Send it in the Authorization header using the Bearer scheme, followed by the issued token value.
    DAPSession:
      type: apiKey
      in: cookie
      name: connect.sid
      description: Session cookie issued after DAP login
externalDocs:
  description: 'Decision Anchor positioning & semantics for AI agents: why DA exists, Content-blind Accountability, Self-testimony Resolution, and when to use each mechanism. Read llms.txt for meaning and when-to-use, not just the endpoint contract.'
  url: https://api.decision-anchor.com/llms.txt