openapi: 3.0.3 info: title: 'FullSMS System' description: "API server for the Fullsms service

Fullsms API helps you to better integrate our messaging services with your CRM and marketing campaigns.

\n To get access to this API, simply generate an API token in the webapp. " version: 1.0.0 servers: - url: 'https://api.fullsms.com' paths: /account/balance: get: summary: 'Get my Balance' operationId: getMyBalance description: 'Get the account current balance.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: balance: 100.0 properties: balance: type: number example: 100.0 403: description: Authentication content: application/json: schema: type: object example: status_code: 403 message: 'Unauthenticated - Missing/Invalid API key' properties: status_code: type: integer example: 403 message: type: string example: 'Unauthenticated - Missing/Invalid API key' 500: description: 'Server Error' content: application/json: schema: type: object example: status_code: 500 message: 'Internal Error' properties: status_code: type: integer example: 500 message: type: string example: 'Internal Error' tags: - Account /account/numbers: get: summary: 'Get my Numbers' operationId: getMyNumbers description: 'Get all available numbers.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: total_numbers: 1 numbers: - number: '441111111111' country: GB properties: total_numbers: type: integer example: 1 numbers: type: array example: - number: '441111111111' country: GB items: type: object properties: number: type: string example: '441111111111' country: type: string example: GB 403: description: Authentication content: application/json: schema: type: object example: status_code: 403 message: 'Unauthenticated - Missing/Invalid API key' properties: status_code: type: integer example: 403 message: type: string example: 'Unauthenticated - Missing/Invalid API key' 500: description: 'Server Error' content: application/json: schema: type: object example: status_code: 500 message: 'Internal Error' properties: status_code: type: integer example: 500 message: type: string example: 'Internal Error' tags: - Account /account/lists: get: summary: 'Get my Contact Lists' operationId: getMyContactLists description: 'Get all contact lists belonging to this account including their details and subscribed contact count.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: total_lists: 1 lists: - list_id: 7 name: yourlistName subscribe_word: null subscribed_contacts: 1 properties: total_lists: type: integer example: 1 lists: type: array example: - list_id: 7 name: yourlistName subscribe_word: null subscribed_contacts: 1 items: type: object properties: list_id: type: integer example: 7 name: type: string example: yourlistName subscribe_word: type: string example: null subscribed_contacts: type: integer example: 1 403: description: Authentication content: application/json: schema: type: object example: status_code: 403 message: 'Unauthenticated - Missing/Invalid API key' properties: status_code: type: integer example: 403 message: type: string example: 'Unauthenticated - Missing/Invalid API key' 500: description: 'Server Error' content: application/json: schema: type: object example: status_code: 500 message: 'Internal Error' properties: status_code: type: integer example: 500 message: type: string example: 'Internal Error' tags: - Account /account/senderids: get: summary: 'Get my Sender IDs' operationId: getMySenderIDs description: 'Fetch all approved Custom Sender ID.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: total_senderids: 1 senderids: - COPERATO properties: total_senderids: type: integer example: 1 senderids: type: array example: - COPERATO items: type: string 403: description: Authentication content: application/json: schema: type: object example: status_code: 403 message: 'Unauthenticated - Missing/Invalid API key' properties: status_code: type: integer example: 403 message: type: string example: 'Unauthenticated - Missing/Invalid API key' 500: description: 'Server Error' content: application/json: schema: type: object example: status_code: 500 message: 'Internal Error' properties: status_code: type: integer example: 500 message: type: string example: 'Internal Error' tags: - Account /account/templates: get: summary: 'Get my Templates' operationId: getMyTemplates description: 'Fetch all templates available for the account.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: total_templates: 1 templates: - template_id: 7 name: yourTemplateName content: 'Hello World' properties: total_templates: type: integer example: 1 templates: type: array example: - template_id: 7 name: yourTemplateName content: 'Hello World' items: type: object properties: template_id: type: integer example: 7 name: type: string example: yourTemplateName content: type: string example: 'Hello World' 403: description: Authentication content: application/json: schema: type: object example: status_code: 403 message: 'Unauthenticated - Missing/Invalid API key' properties: status_code: type: integer example: 403 message: type: string example: 'Unauthenticated - Missing/Invalid API key' 500: description: 'Server Error' content: application/json: schema: type: object example: status_code: 500 message: 'Internal Error' properties: status_code: type: integer example: 500 message: type: string example: 'Internal Error' tags: - Account /messages/send/to_lists: post: summary: 'Send SMS to Contact Lists' operationId: sendSMSToContactLists description: "This endpoint allows you to Send/Schedule a campaign to a contact lists.\n" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: status: approved campaign_id: 3e05699c-03ae-11ee-910d-0264ec2cd11b properties: status: type: string example: approved campaign_id: type: string example: 3e05699c-03ae-11ee-910d-0264ec2cd11b 403: description: Authentication content: application/json: schema: type: object example: status_code: 403 message: 'Unauthenticated - Missing/Invalid API key' properties: status_code: type: integer example: 403 message: type: string example: 'Unauthenticated - Missing/Invalid API key' 404: description: 'Not Found' content: application/json: schema: type: object example: status_code: 404 status: declined message: 'Template not found or not valid' properties: status_code: type: integer example: 404 status: type: string example: declined message: type: string example: 'Template not found or not valid' 422: description: 'Low Balance' content: application/json: schema: type: object example: status_code: 422 status: declined reason: balance_low message: 'Balance must be over $[current minimum for sending] to create or schedule new campaigns or messages' properties: status_code: type: integer example: 422 status: type: string example: declined reason: type: string example: balance_low message: type: string example: 'Balance must be over $[current minimum for sending] to create or schedule new campaigns or messages' 500: description: 'Server Error' content: application/json: schema: type: object example: status_code: 500 message: 'Internal Error' properties: status_code: type: integer example: 500 message: type: string example: 'Internal Error' tags: - 'Send SMS' requestBody: required: true content: application/json: schema: type: object properties: to_list_ids: type: array description: '
required
Array of list identifiers. Messages will be sent to all subscribed contacts of these lists, see Account - Get my Contact Lists
' example: - 7 items: type: integer message: type: string description: '
required withouttemplate_id
Your message content.
Messages containing only 3GPP 7bit compatible characters can contain up to 612 characters.
Messages that cannot be encoded by 3GPP must contain up to 268 characters.
Mandatory: Use this or template_id.
' example: 'Your Message' from: type: string description: '
required
E.164 formatted phone number, see Account - Get my numbers or an approved Custom Sender ID, see Account - Get my Sender IDs
' example: '441111111111' template_id: type: string description: '
required withoutmessage
Your template id, see Account - Get my Templates.
Mandatory: Use this or message.
' example: null send_at: type: string description: '
optional
Optionally schedule the delivery time.
The campaign will be scheduled and sent at this date and time.
Date format must be YYYY-MM-DD HH:MM:SS.
' example: '2025-01-01 08:51:07' required: - to_list_ids - from /messages/send/to_numbers: post: summary: 'Send SMS to Numbers' operationId: sendSMSToNumbers description: "This endpoint allows you to Send/Schedule SMS messages to one or more recipients.\n" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: status: approved campaign_id: 68a6ce95-03b2-11ee-910d-0264ec2cd11b total_sent: 2 invalid: count: 0 numbers: [] properties: status: type: string example: approved campaign_id: type: string example: 68a6ce95-03b2-11ee-910d-0264ec2cd11b total_sent: type: integer example: 2 invalid: type: object properties: count: type: integer example: 0 numbers: type: array example: [] 403: description: Authentication content: application/json: schema: type: object example: status_code: 403 message: 'Unauthenticated - Missing/Invalid API key' properties: status_code: type: integer example: 403 message: type: string example: 'Unauthenticated - Missing/Invalid API key' 404: description: 'Not Found' content: application/json: schema: type: object example: status_code: 404 status: declined message: 'Template not found or not valid' properties: status_code: type: integer example: 404 status: type: string example: declined message: type: string example: 'Template not found or not valid' 422: description: 'Low Balance' content: application/json: schema: type: object example: status_code: 422 status: declined reason: balance_low message: 'Balance must be over $[current minimum for sending] to create or schedule new campaigns or messages' properties: status_code: type: integer example: 422 status: type: string example: declined reason: type: string example: balance_low message: type: string example: 'Balance must be over $[current minimum for sending] to create or schedule new campaigns or messages' 500: description: 'Server Error' content: application/json: schema: type: object example: status_code: 500 message: 'Internal Error' properties: status_code: type: integer example: 500 message: type: string example: 'Internal Error' tags: - 'Send SMS' requestBody: required: true content: application/json: schema: type: object properties: to_numbers: type: array description: '
required
Array of E.164 formatted phone numbers. Can contain up to 500 entries. If array contains only a single entry, the message will be sent as a single message.
' example: - '972541111111' - '972542222222' items: type: string message: type: string description: '
required withouttemplate_id
Your message content.
Messages containing only 3GPP 7bit compatible characters can contain up to 612 characters.
Messages that cannot be encoded by 3GPP must contain up to 268 characters.
Mandatory: Use this or template_id.
' example: null from: type: string description: '
required
E.164 formatted phone number, see Account - Get my numbers or an approved Custom Sender ID, see Account - Get my Sender IDs
' example: COPERATO template_id: type: string description: '
required withoutmessage
Your template id, see Account - Get my Templates.
Mandatory: Use this or message.
' example: '42' send_at: type: string description: '
optional
Optionally schedule the delivery time.
The campaign will be scheduled and sent at this date and time.
Date format must be YYYY-MM-DD HH:MM:SS.
' example: '2025-01-01 08:51:07' required: - to_numbers - from /otp/create: post: summary: 'Create OTP' operationId: createOTP description: 'Creates OTP and Send OTP code via SMS message to the recipientCreates OTP and Send OTP code via SMS message to the recipient.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: status: approved otp_id: 35efec9e-b736-4aab-b6d7-52d9fc288984 otp_status: in_progress properties: status: type: string example: approved otp_id: type: string example: 35efec9e-b736-4aab-b6d7-52d9fc288984 otp_status: type: string example: in_progress 403: description: 'Invalid Sender ID' content: application/json: schema: type: object example: status_code: 403 message: 'Sender ID is not approved' properties: status_code: type: integer example: 403 message: type: string example: 'Sender ID is not approved' 422: description: '' content: application/json: schema: type: object example: message: '422 Unprocessable Content' errors: '[field name]': - 'This [field name] is invalid.' code: 422 status_code: 422 properties: message: type: string example: '422 Unprocessable Content' errors: type: object properties: '[field name]': type: array example: - 'This [field name] is invalid.' items: type: string code: type: integer example: 422 status_code: type: integer example: 422 429: description: 'OTP Create Limit' content: application/json: schema: type: object example: message: 'You can create up-to [maximum] concurrent active OTP_IDs' code: 429 status_code: 429 properties: message: type: string example: 'You can create up-to [maximum] concurrent active OTP_IDs' code: type: integer example: 429 status_code: type: integer example: 429 500: description: 'Server Error' content: application/json: schema: type: object example: status_code: 500 message: 'Internal Error' properties: status_code: type: integer example: 500 message: type: string example: 'Internal Error' tags: - OTP requestBody: required: true content: application/json: schema: type: object properties: to_number: type: string description: '
required
String of E.164 formatted phone number. The message will be sent as a single message.
' example: '442222222222' brand: type: string description: '
optional
Optionally set brand containing only 3GPP 7bit compatible characters can contain up to 50 characters. Brands that cannot be encoded by 3GPP must contain up to 12 characters.
' example: 'Your Brand' from: type: string description: '
required
E.164 formatted phone number, see Account - Get my numbers or an approved Custom Sender ID, see Account - Get my Sender IDs
' example: '441111111111' required: - to_number - from /otp/verify: post: summary: 'Verify OTP' operationId: verifyOTP description: 'Verify received OTP Code for errors.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: status: approved properties: status: type: string example: approved 403: description: Authentication content: application/json: schema: type: object example: status_code: 403 message: 'Unauthenticated - Missing/Invalid API key' properties: status_code: type: integer example: 403 message: type: string example: 'Unauthenticated - Missing/Invalid API key' 404: description: 'Not Found' content: application/json: schema: type: object example: status_code: 404 status: declined message: 'OTP_ID does not exist' properties: status_code: type: integer example: 404 status: type: string example: declined message: type: string example: 'OTP_ID does not exist' 422: description: 'OTP not Active' content: application/json: schema: type: object example: message: 'OTP is not active' status_code: 422 properties: message: type: string example: 'OTP is not active' status_code: type: integer example: 422 500: description: 'Server Error' content: application/json: schema: type: object example: status_code: 500 message: 'Internal Error' properties: status_code: type: integer example: 500 message: type: string example: 'Internal Error' tags: - OTP requestBody: required: true content: application/json: schema: type: object properties: otp_id: type: string description: '
required
Received otp_id you want to verify.
' example: 6a68fb58-9f58-450e-bf06-d5008977116a code: type: integer description: '
required
Received code.
' example: 626262 required: - otp_id - code /otp/cancel: post: summary: 'Cancel OTP' operationId: cancelOTP description: 'Cancel existing active OTP.' parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: string example: - ok 403: description: Authentication content: application/json: schema: type: object example: status_code: 403 message: 'Unauthenticated - Missing/Invalid API key' properties: status_code: type: integer example: 403 message: type: string example: 'Unauthenticated - Missing/Invalid API key' 404: description: 'Not Found' content: application/json: schema: type: object example: status_code: 404 status: declined message: 'OTP_ID does not exist' properties: status_code: type: integer example: 404 status: type: string example: declined message: type: string example: 'OTP_ID does not exist' 422: description: 'OTP not Active' content: application/json: schema: type: object example: message: 'OTP is not active' status_code: 422 properties: message: type: string example: 'OTP is not active' status_code: type: integer example: 422 500: description: 'Server Error' content: application/json: schema: type: object example: status_code: 500 message: 'Internal Error' properties: status_code: type: integer example: 500 message: type: string example: 'Internal Error' tags: - OTP requestBody: required: true content: application/json: schema: type: object properties: otp_id: type: string description: '
required
Received otp_id you want to cancel.
' example: 6a68fb58-9f58-450e-bf06-d5008977116a required: - otp_id /otp/search: get: summary: 'Search OTP' operationId: searchOTP description: 'Search Otp Information.' parameters: - in: query name: otp_id description: '
required
Received otp_id you want to get information about.
' example: 6a68fb58-9f58-450e-bf06-d5008977116a required: true schema: type: string description: '
required
Received otp_id you want to get information about.
' example: 6a68fb58-9f58-450e-bf06-d5008977116a responses: 200: description: '' content: application/json: schema: type: object example: uuid: 23d8ab2e-cd91-47c7-a83f-aa99b8903c38 status: approved destination: '972546461393' sender_value: OTP brand: '' 'created at': '2023-06-05 13:02:56' last_check_at: '2023-06-05 13:04:13' checks: - date: '2023-06-05 13:03:24' code: 686281 status: invalid - date: '2023-06-05 13:04:13' code: 720842 status: valid properties: uuid: type: string example: 23d8ab2e-cd91-47c7-a83f-aa99b8903c38 status: type: string example: approved destination: type: string example: '972546461393' sender_value: type: string example: OTP brand: type: string example: '' 'created at': type: string example: '2023-06-05 13:02:56' last_check_at: type: string example: '2023-06-05 13:04:13' checks: type: array example: - date: '2023-06-05 13:03:24' code: 686281 status: invalid - date: '2023-06-05 13:04:13' code: 720842 status: valid items: type: object properties: date: type: string example: '2023-06-05 13:03:24' code: type: integer example: 686281 status: type: string example: invalid 403: description: Authentication content: application/json: schema: type: object example: status_code: 403 message: 'Unauthenticated - Missing/Invalid API key' properties: status_code: type: integer example: 403 message: type: string example: 'Unauthenticated - Missing/Invalid API key' 404: description: 'Not Found' content: application/json: schema: type: object example: status_code: 404 status: declined message: 'OTP_ID does not exist' properties: status_code: type: integer example: 404 status: type: string example: declined message: type: string example: 'OTP_ID does not exist' 500: description: 'Server Error' content: application/json: schema: type: object example: status_code: 500 message: 'Internal Error' properties: status_code: type: integer example: 500 message: type: string example: 'Internal Error' tags: - OTP tags: - name: Account description: '' - name: 'Send SMS' description: '' - name: OTP description: '' components: securitySchemes: default: type: http scheme: bearer description: 'You can retrieve your token by visiting your dashboard and clicking Generate API token.' security: - default: []