---
title: "POST /didcomm/out-of-band/create-invitation"
method: POST
path: "/didcomm/out-of-band/create-invitation"
tags: ["DIDComm Out Of Band"]
---

# POST /didcomm/out-of-band/create-invitation

`POST /didcomm/out-of-band/create-invitation`

## Request

- Base URL: `/` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/didcomm/out-of-band/create-invitation`
- Auth: none declared

Creates an outbound out-of-band record containing out-of-band invitation message defined in
Aries RFC 0434: Out-of-Band Protocol 1.1.

## Headers

- `x-tenant-id` string

## Request body

- DidCommOutOfBandCreateInvitationOptions
  - `label` string
  - `goalCode` string
  - `alias` string
  - `imageUrl` string
  - `goal` string
  - `handshake` boolean
  - `handshakeProtocols` HandshakeProtocol[]
  - `multiUseInvitation` boolean
  - `autoAcceptConnection` boolean
  - `messages` PlaintextMessage[]
    - `@type` string, required
    - `@id` string, required
    - `~thread` object
      - `pthid` string
      - `thid` string

## Response `200`

Ok

- DidCommOutOfBandCreateInvitationResponse
  - `invitation` PlaintextMessage, required
    - `@type` string, required
    - `@id` string, required
    - `~thread` object
      - `pthid` string
      - `thid` string
  - `outOfBandRecord` DidCommOutOfBandRecord, required
    - `id` string, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time
    - `type` string, required
    - `outOfBandInvitation` PlaintextMessage, required
      - `@type` string, required
      - `@id` string, required
      - `~thread` object
        - `pthid` string
        - `thid` string
    - `role` 'sender' | 'receiver', required
    - `state` 'initial' | 'await-response' | 'prepare-response' | 'done', required
    - `alias` string: Alias for the connection(s) created based on the out of band invitation
    - `reusable` boolean, required: Whether the out of band invitation is reusable
    - `autoAcceptConnection` boolean: Whether to auto accept the out of band invitation. If not defined agent config will be used.
    - `mediatorId` string
    - `reuseConnectionId` string
  - `invitationUrl` string, required

## Changes

- **2026-07-17** `33596742b733`: 2 info
  - the endpoint scheme security `tenants` was removed from the API
  - added the new optional `header` request parameter `x-tenant-id`
- **2024-03-27** `a7641432a6c1`: 1 warning, 1 info
  - deleted the `header` request parameter `x-tenant-id`
  - the endpoint scheme security `tenants` was added to the API

[Operation history](https://skmtc.dev/openwallet-foundation/apis/credo-rest-api/changes/didcomm/out-of-band/create-invitation/post.md)

---

[API](https://skmtc.dev/openwallet-foundation/apis/credo-rest-api.md) - [All operations](https://skmtc.dev/openwallet-foundation/apis/credo-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/openwallet-foundation/apis/credo-rest-api/revisions/33596742b733?raw)
