> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bizbionic.com/llms.txt
> Use this file to discover all available pages before exploring further.

# agent.provision

> Create a tenant and one-time API key (agent-native signup).
**Wire format (production):** Always call `POST /rpc` with a JSON-RPC 2.0 body. The path `/a2a/agent.provision` is **documentation-only** so each skill appears in the API Reference.
```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "agent.provision",
  "params": {
    "name": "Acme Corp",
    "source": "docs",
    "permissions": "full",
    "use_case": "marketing",
    "business_context": {
      "vertical": "retail"
    }
  }
}
```
**Auth scope:** anonymous_or_special

API key is shown once. Store securely.



## OpenAPI

````yaml /openapi/a2a.json post /a2a/agent/provision
openapi: 3.1.0
info:
  title: BizBionic A2A Skills
  version: 2.0.0
  description: >
    Customer-facing catalog of BizBionic **A2A skills** (JSON-RPC 2.0).


    **Real endpoint:** `POST https://app.bizbionic.com/rpc` with header
    `Authorization: Bearer bb_…`.


    Paths under `/a2a/...` are documentation-only — not REST routes on the
    Worker.


    Discover: `GET /.well-known/agent.json`.


    Docs: https://docs.bizbionic.com
  contact:
    name: BizBionic
    url: https://docs.bizbionic.com
servers:
  - url: https://app.bizbionic.com
    description: Production
security:
  - bearerAuth: []
tags:
  - name: agent
    description: A2A skills in the `agent.*` module
  - name: ai
    description: A2A skills in the `ai.*` module
  - name: analytics
    description: A2A skills in the `analytics.*` module
  - name: automation
    description: A2A skills in the `automation.*` module
  - name: billing
    description: A2A skills in the `billing.*` module
  - name: campaigns
    description: A2A skills in the `campaigns.*` module
  - name: command
    description: A2A skills in the `command.*` module
  - name: compliance
    description: A2A skills in the `compliance.*` module
  - name: contacts
    description: A2A skills in the `contacts.*` module
  - name: dashboard
    description: A2A skills in the `dashboard.*` module
  - name: hygiene
    description: A2A skills in the `hygiene.*` module
  - name: inbox
    description: A2A skills in the `inbox.*` module
  - name: insights
    description: A2A skills in the `insights.*` module
  - name: journeys
    description: A2A skills in the `journeys.*` module
  - name: lists
    description: A2A skills in the `lists.*` module
  - name: messages
    description: A2A skills in the `messages.*` module
  - name: partner
    description: A2A skills in the `partner.*` module
  - name: segments
    description: A2A skills in the `segments.*` module
  - name: sources
    description: A2A skills in the `sources.*` module
  - name: tags
    description: A2A skills in the `tags.*` module
  - name: templates
    description: A2A skills in the `templates.*` module
paths:
  /a2a/agent/provision:
    post:
      tags:
        - agent
      summary: agent.provision
      description: >-
        Create a tenant and one-time API key (agent-native signup).

        **Wire format (production):** Always call `POST /rpc` with a JSON-RPC
        2.0 body. The path `/a2a/agent.provision` is **documentation-only** so
        each skill appears in the API Reference.

        ```json

        {
          "jsonrpc": "2.0",
          "id": 1,
          "method": "agent.provision",
          "params": {
            "name": "Acme Corp",
            "source": "docs",
            "permissions": "full",
            "use_case": "marketing",
            "business_context": {
              "vertical": "retail"
            }
          }
        }

        ```

        **Auth scope:** anonymous_or_special


        API key is shown once. Store securely.
      operationId: agent_provision
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - method
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - '2.0'
                  default: '2.0'
                id:
                  oneOf:
                    - type: string
                    - type: number
                    - type: 'null'
                method:
                  type: string
                  const: agent.provision
                params:
                  type: object
                  properties:
                    name:
                      type: string
                    source:
                      type: string
                    permissions:
                      type: string
                      enum:
                        - full
                        - read
                        - campaigns
                        - compliance
                        - billing
                        - sources
                    use_case:
                      type: string
                    business_context:
                      type: object
                      additionalProperties: true
                    sample_messages:
                      type: array
                      items:
                        type: string
            example:
              jsonrpc: '2.0'
              id: 1
              method: agent.provision
              params:
                name: Acme Corp
                source: docs
                permissions: full
                use_case: marketing
                business_context:
                  vertical: retail
      responses:
        '200':
          description: JSON-RPC success envelope
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    enum:
                      - '2.0'
                  id: {}
                  result:
                    description: Skill result object
        '401':
          description: Unauthorized — missing or invalid API key
        default:
          description: JSON-RPC error envelope
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                  id: {}
                  error:
                    type: object
                    properties:
                      code:
                        type: integer
                      message:
                        type: string
                      data:
                        type: object
                        additionalProperties: true
      security: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: bb_
      description: 'Tenant or partner API key. Alternate header: X-API-Key.'

````