{
"version": 1,
"comment": "Hand-curated corrections to tools/api-responses.json. See xtask/src/overrides.rs for the schema. Edit when the extractor gets a scalar type wrong or for methods whose Output blocks the parser can't handle. The `enums` + `field_types` sections declare low-cardinality enum types substituted for `Option<String>` in both *Params and *Response structs (see xtask/src/field_overrides.rs). Boolean flags (1/0 and yes/no) are typed via the built-in tables in field_overrides.rs, not here. `field_type_skip` suppresses a name-based override for one struct where the name is reused for an unrelated value; `field_type_override` assigns one struct's field a specific enum (used for `type`, which means different things per method).",
"enums": {
"DtmfMode": {
"doc": "DTMF transport mode for SIP sub-accounts.",
"variants": [
{ "name": "Auto", "wire": "auto" },
{ "name": "Rfc2833", "wire": "rfc2833" },
{ "name": "Inband", "wire": "inband" },
{ "name": "Info", "wire": "info" }
]
},
"Nat": {
"doc": "Asterisk NAT handling mode.",
"variants": [
{ "name": "Yes", "wire": "yes" },
{ "name": "No", "wire": "no" },
{ "name": "Route", "wire": "route" },
{ "name": "Never", "wire": "never" }
]
},
"EmailAttachmentFormat": {
"doc": "Voicemail email attachment format.",
"variants": [
{ "name": "Wav49", "wire": "wav49", "doc": "GSM-compressed WAV." },
{ "name": "Wav", "wire": "wav" },
{ "name": "Mp3", "wire": "mp3" },
{ "name": "No", "wire": "no", "doc": "Do not attach audio." }
]
},
"TranscriptionFormat": {
"doc": "Voicemail transcription output format.",
"variants": [
{ "name": "Text", "wire": "text" },
{ "name": "Html", "wire": "html" }
]
},
"PlayInstructions": {
"doc": "Voicemail playback instruction mode.",
"variants": [
{ "name": "SkipUnread", "wire": "su", "doc": "Skip instructions on unread messages." },
{ "name": "Unread", "wire": "u", "doc": "Read full instructions for unread messages." },
{ "name": "DontSay", "wire": "du", "doc": "Don't say instructions." }
]
},
"RingStrategy": {
"doc": "Queue ring strategy. Mirrors Asterisk's queue strategy options.",
"variants": [
{ "name": "RingAll", "wire": "ringall" },
{ "name": "LeastRecent", "wire": "leastrecent" },
{ "name": "FewestCalls", "wire": "fewestcalls" },
{ "name": "Random", "wire": "random" },
{ "name": "RrMemory", "wire": "rrmemory" },
{ "name": "Linear", "wire": "linear" },
{ "name": "WRandom", "wire": "wrandom" }
]
},
"RingGroupOrder": {
"doc": "Order in which ring-group members are attempted.",
"variants": [
{ "name": "Follow", "wire": "follow", "doc": "Try members in declared order." },
{ "name": "Random", "wire": "random" }
]
},
"VoicemailFolder": {
"doc": "Voicemail message folder.",
"variants": [
{ "name": "Inbox", "wire": "INBOX" },
{ "name": "Old", "wire": "Old" },
{ "name": "Urgent", "wire": "Urgent" },
{ "name": "Family", "wire": "Family" },
{ "name": "Friends", "wire": "Friends" },
{ "name": "Work", "wire": "Work" }
]
},
"QueueEmptyBehavior": {
"doc": "Whether callers may join, or are kept in, a queue with no available members. Used by both `join_when_empty` and `leave_when_empty`.",
"variants": [
{ "name": "Yes", "wire": "yes", "doc": "Callers may join / remain with no members." },
{ "name": "No", "wire": "no", "doc": "Callers may not join / are sent to failover." },
{ "name": "Strict", "wire": "strict", "doc": "Like `No`, but also applies when members are present yet all unavailable." }
]
},
"EstimatedHoldTimeAnnounce": {
"doc": "When to include estimated hold time in queue position announcements.",
"variants": [
{ "name": "Yes", "wire": "yes" },
{ "name": "No", "wire": "no" },
{ "name": "Once", "wire": "once", "doc": "Announce only the first time." }
]
},
"CallPickupBehavior": {
"doc": "Sub-account call-pickup permissions.",
"variants": [
{ "name": "PickUpAndBePickedUp", "wire": "1", "doc": "Can pick up and be picked up." },
{ "name": "PickUpOnly", "wire": "2", "doc": "Can pick up; cannot be picked up." },
{ "name": "BePickedUpOnly", "wire": "3", "doc": "Can be picked up; cannot pick up." },
{ "name": "Disabled", "wire": "4", "doc": "Cannot pick up nor be picked up." }
]
},
"RecordingSort": {
"doc": "Sort order for selected recordings.",
"variants": [
{ "name": "Alpha", "wire": "alpha" },
{ "name": "Random", "wire": "random" }
]
},
"SearchType": {
"doc": "How a DID / toll-free search string is matched.",
"variants": [
{ "name": "Starts", "wire": "starts" },
{ "name": "Contains", "wire": "contains" },
{ "name": "Ends", "wire": "ends" }
]
},
"VanityType": {
"doc": "Toll-free prefix to search for a vanity number.",
"variants": [
{ "name": "Any", "wire": "8**", "doc": "Any toll-free prefix." },
{ "name": "N800", "wire": "800" },
{ "name": "N833", "wire": "833" },
{ "name": "N844", "wire": "844" },
{ "name": "N855", "wire": "855" },
{ "name": "N866", "wire": "866" },
{ "name": "N877", "wire": "877" },
{ "name": "N888", "wire": "888" }
]
},
"MessageType": {
"doc": "Direction of an SMS / MMS message: a filter on requests, the direction on results.",
"variants": [
{ "name": "Received", "wire": "1" },
{ "name": "Sent", "wire": "0" }
]
},
"DialingMode": {
"doc": "Outgoing-call dialing mode for a sub-account.",
"variants": [
{ "name": "MainAccount", "wire": "0", "doc": "Use the main account setting." },
{ "name": "E164", "wire": "1" },
{ "name": "Nanpa", "wire": "2" }
]
},
"TollFreeCarrier": {
"doc": "Carrier for outgoing calls to toll-free numbers.",
"variants": [
{ "name": "MainAccount", "wire": "-1", "doc": "Use the main account setting." },
{ "name": "Default", "wire": "0", "doc": "Default server setting." },
{ "name": "Us", "wire": "1" },
{ "name": "Canadian", "wire": "2" }
]
},
"DidBillingType": {
"doc": "DID billing model.",
"variants": [
{ "name": "PerMinute", "wire": "1" },
{ "name": "Flat", "wire": "2" }
]
}
},
"field_types": {
"dtmf_mode": "DtmfMode",
"nat": "Nat",
"email_attachment_format": "EmailAttachmentFormat",
"transcription_format": "TranscriptionFormat",
"play_instructions": "PlayInstructions",
"ring_strategy": "RingStrategy",
"order": "RingGroupOrder",
"folder": "VoicemailFolder",
"join_when_empty": "QueueEmptyBehavior",
"leave_when_empty": "QueueEmptyBehavior",
"if_announce_position_enabled_report_estimated_hold_time": "EstimatedHoldTimeAnnounce",
"call_pickup_behavior": "CallPickupBehavior",
"sort": "RecordingSort",
"dialing_mode": "DialingMode",
"tfcarrier": "TollFreeCarrier",
"billing_type": "DidBillingType"
},
"field_type_skip": [
"GetVoicemailsResponseVoicemail.urgent",
"GetFAXMessagesParams.folder",
"GetFAXMessagesResponseFAX.folder"
],
"field_type_override": {
"SearchDIDsCANParams.type": "SearchType",
"SearchDIDsUSAParams.type": "SearchType",
"SearchTollFreeCANUSParams.type": "SearchType",
"SearchTollFreeUSAParams.type": "SearchType",
"SearchVanityParams.type": "VanityType",
"GetSMSParams.type": "MessageType",
"GetMMSParams.type": "MessageType",
"GetResellerSMSParams.type": "MessageType",
"GetResellerMMSParams.type": "MessageType",
"GetSMSResponseSMS.type": "MessageType",
"GetMMSResponseSMS.type": "MessageType",
"GetResellerSMSResponseSMS.type": "MessageType",
"GetResellerMMSResponseSMS.type": "MessageType"
},
"empty_statuses": [
"no_account",
"no_attachments",
"no_callback",
"no_callhunting",
"no_callparking",
"no_cdr",
"no_client",
"no_conference",
"no_did",
"no_disa",
"no_filter",
"no_forwarding",
"no_ivr",
"no_mailbox",
"no_member",
"no_message",
"no_messages",
"no_numbers",
"no_package",
"no_phonebook",
"no_queue",
"no_rate",
"no_recording",
"no_ringgroup",
"no_sipuri",
"no_sms",
"no_timecondition"
],
"methods": {
"getDIDsInfo": {
"patches": [
{ "path": "dids[].did", "type": "string" },
{ "path": "dids[].cnam", "type": "bool_01" },
{ "path": "dids[].sms_available", "type": "bool_01" },
{ "path": "dids[].sms_enabled", "type": "bool_01" }
]
},
"setSIPURI": {
"shape": {
"kind": "object",
"fields": [
{ "name": "status", "shape": { "kind": "scalar", "type": "string", "sample": "success" } }
]
}
},
"getLNPDetails": {
"shape": {
"kind": "object",
"fields": [
{ "name": "status", "shape": { "kind": "scalar", "type": "string", "sample": "success" } },
{ "name": "id", "shape": { "kind": "scalar", "type": "integer", "sample": "0" } },
{ "name": "numbers", "shape": { "kind": "list", "element": { "kind": "object", "fields": [
{ "name": "did", "shape": { "kind": "scalar", "type": "string", "sample": "5551234567" } },
{ "name": "rateCenter", "shape": { "kind": "scalar", "type": "string", "sample": "COVINA" } },
{ "name": "state", "shape": { "kind": "scalar", "type": "string", "sample": "CA" } }
] } } },
{ "name": "isPartial", "shape": { "kind": "scalar", "type": "bool_01", "sample": "0" } },
{ "name": "locationType", "shape": { "kind": "scalar", "type": "integer", "sample": "0" } },
{ "name": "isMobile", "shape": { "kind": "scalar", "type": "bool_01", "sample": "0" } },
{ "name": "mobileInfo", "shape": { "kind": "scalar", "type": "string", "sample": "" } },
{ "name": "tfType", "shape": { "kind": "scalar", "type": "integer", "sample": "0" } },
{ "name": "portType", "shape": { "kind": "scalar", "type": "integer", "sample": "1" } },
{ "name": "btn", "shape": { "kind": "scalar", "type": "string", "sample": "" } },
{ "name": "services", "shape": { "kind": "scalar", "type": "string", "sample": "" } },
{ "name": "statementName", "shape": { "kind": "scalar", "type": "string", "sample": "" } },
{ "name": "firstName", "shape": { "kind": "scalar", "type": "string", "sample": "" } },
{ "name": "lastName", "shape": { "kind": "scalar", "type": "string", "sample": "" } },
{ "name": "address1", "shape": { "kind": "scalar", "type": "string", "sample": "Covina 12 St." } },
{ "name": "address2", "shape": { "kind": "scalar", "type": "string", "sample": "" } },
{ "name": "city", "shape": { "kind": "scalar", "type": "string", "sample": "CA" } },
{ "name": "zip", "shape": { "kind": "scalar", "type": "string", "sample": "" } },
{ "name": "state", "shape": { "kind": "scalar", "type": "string", "sample": "CA" } },
{ "name": "country", "shape": { "kind": "scalar", "type": "string", "sample": "US" } },
{ "name": "providerName", "shape": { "kind": "scalar", "type": "string", "sample": "" } },
{ "name": "providerAccount", "shape": { "kind": "scalar", "type": "string", "sample": "" } },
{ "name": "customer_notes", "shape": { "kind": "scalar", "type": "string", "sample": "" } },
{ "name": "notes", "shape": { "kind": "list", "element": { "kind": "object", "fields": [
{ "name": "note", "shape": { "kind": "scalar", "type": "string", "sample": "" } },
{ "name": "date", "shape": { "kind": "scalar", "type": "date", "sample": "2019-02-25" } },
{ "name": "time", "shape": { "kind": "scalar", "type": "string", "sample": "15:05:11" } }
] } } },
{ "name": "post_status", "shape": { "kind": "scalar", "type": "string", "sample": "pending_approval" } },
{ "name": "post_status_description", "shape": { "kind": "scalar", "type": "string", "sample": "Pending Approval" } },
{ "name": "date", "shape": { "kind": "scalar", "type": "datetime", "sample": "2019-02-25 15:05:11" } },
{ "name": "focDate", "shape": { "kind": "scalar", "type": "string", "sample": "" } },
{ "name": "attachments", "shape": { "kind": "list", "element": { "kind": "object", "fields": [
{ "name": "id", "shape": { "kind": "scalar", "type": "string", "sample": "0000" } },
{ "name": "description", "shape": { "kind": "scalar", "type": "string", "sample": "Signed Invoice" } },
{ "name": "type", "shape": { "kind": "scalar", "type": "string", "sample": "pdf" } },
{ "name": "bytes", "shape": { "kind": "scalar", "type": "integer", "sample": "151600" } }
] } } }
]
}
}
}
}