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. |
| 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. |
JSON Schema
{
"$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.
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.