osis-co · Schema

SendContactCardRequest

MessagingCommunicationsAPISaaSCustomerSupport

Properties

Name Type Description
to string Phone number to send to. Required unless you set contact_id or conversation_id. Use E.164, or set default_country for a local number.
contact_id string A contact you already have. Required unless you set to or conversation_id.
conversation_id string A conversation to send in. Required unless you set to or contact_id.
agent_id string Send this hosted agent's saved card. Any of name, phone, email, organization, note, or photo you leave out comes from the agent's card.
name string The name on the card. Required unless you set agent_id. Cut off at 80 characters.
phone string The phone number on the card, in E.164 format. Required unless you set agent_id.
email string An email for the card. With agent_id, defaults to the agent's email.
organization string A company name for the card.
note string A note for the card.
photo_url string An HTTPS link to a JPEG, PNG, or GIF, up to 200,000 bytes.
photo_base64 string A JPEG, PNG, or GIF as base64 or a data:image/...;base64, URL. Up to 200,000 bytes.
caption string Text to send with the card. Leave it out to send just the card.
channel string
default_country string Country code, only needed if the number is local and has no country code.
idempotency_key string Same as the Idempotency-Key header. If you send both, the header wins.
line_e164 string For WhatsApp: the number to send from, with WhatsApp turned on. Alias: from.
View JSON Schema on GitHub

JSON Schema

osis-co-send-contact-card-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/osis-co/json-schema/osis-co-send-contact-card-request-schema.json",
  "title": "SendContactCardRequest",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/osis-co-openapi.json#/components/schemas/SendContactCardRequest",
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "Phone number to send to. Required unless you set contact_id or conversation_id. Use E.164, or set default_country for a local number."
    },
    "contact_id": {
      "type": "string",
      "description": "A contact you already have. Required unless you set to or conversation_id."
    },
    "conversation_id": {
      "type": "string",
      "description": "A conversation to send in. Required unless you set to or contact_id."
    },
    "agent_id": {
      "type": "string",
      "description": "Send this hosted agent's saved card. Any of name, phone, email, organization, note, or photo you leave out comes from the agent's card."
    },
    "name": {
      "type": "string",
      "description": "The name on the card. Required unless you set agent_id. Cut off at 80 characters."
    },
    "phone": {
      "type": "string",
      "description": "The phone number on the card, in E.164 format. Required unless you set agent_id."
    },
    "email": {
      "type": "string",
      "description": "An email for the card. With agent_id, defaults to the agent's email."
    },
    "organization": {
      "type": "string",
      "description": "A company name for the card."
    },
    "note": {
      "type": "string",
      "description": "A note for the card."
    },
    "photo_url": {
      "type": "string",
      "description": "An HTTPS link to a JPEG, PNG, or GIF, up to 200,000 bytes.",
      "format": "uri"
    },
    "photo_base64": {
      "type": "string",
      "description": "A JPEG, PNG, or GIF as base64 or a data:image/...;base64, URL. Up to 200,000 bytes."
    },
    "caption": {
      "type": "string",
      "description": "Text to send with the card. Leave it out to send just the card."
    },
    "channel": {
      "type": "string",
      "enum": [
        "auto",
        "sms",
        "imessage",
        "whatsapp"
      ],
      "default": "auto"
    },
    "default_country": {
      "type": "string",
      "description": "Country code, only needed if the number is local and has no country code."
    },
    "idempotency_key": {
      "type": "string",
      "description": "Same as the Idempotency-Key header. If you send both, the header wins."
    },
    "line_e164": {
      "type": "string",
      "description": "For WhatsApp: the number to send from, with WhatsApp turned on. Alias: from."
    }
  },
  "allOf": [
    {
      "anyOf": [
        {
          "required": [
            "to"
          ]
        },
        {
          "required": [
            "contact_id"
          ]
        },
        {
          "required": [
            "conversation_id"
          ]
        }
      ]
    },
    {
      "anyOf": [
        {
          "required": [
            "agent_id"
          ]
        },
        {
          "required": [
            "name",
            "phone"
          ]
        }
      ]
    }
  ]
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/osis-co-send-contact-card-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.