openapi: 3.2.0 info: description: Synivere Communication Gateway API version: 1.0.0 title: SCG Contact Address Status API servers: - url: https://api.syniverse.com/scg-external-api/api/v1 tags: - name: Contact Address Status paths: /consent/contact_address_statuses: get: tags: - Contact Address Status summary: Retrieve Contact Address Statues description: ' Retrieve Contact Address Statues' parameters: - name: id in: query description: 'Unique identifier, allocated by SCG at the time of address creation. This is a combination of an address type/value and sender id. SCG will allocate a new address_status_id for any message sent or received from a new combination of sender id and address value/type ' required: false schema: type: string - name: address_type in: query description: 'The address type: MDN (for phone numbers), EMAIL, SOCIAL, PUSH (...) ' required: false schema: type: string - name: address in: query description: 'The actual value of the address. For SMS/MMS this will be the MDN. ' required: false schema: type: string - name: sender_id in: query description: 'the sender id accociated with the address type/value ' required: false schema: type: string - name: consent_status in: query description: 'this is the current optin status for the specific address / sender id. The possible values are: - NONE (no optin or optout message received from the address on the specific sender id) - OPTIN (user has explicitly opted in to the sender id) - OPTOUT (user has explicitly opted out of the sender id) - BLACKLIST (blacklisted address - will be treated as explicit OPTOUT) - WHITELIST (whitelisted address - will be treated as explicit OPTIN) NOTE: Whitelisted or blacklisted status can not be overwritten by the end-user by sending messages to the sender id. Such users can be only un-listed by changing the optin-status explicitly put POST to address status ID ' required: false schema: type: string - name: application_id in: query description: 'ID of the application that has created the resource ' required: false schema: type: integer - name: created_date in: query description: 'The creation date of the object. ' required: false schema: type: string - name: last_updated_date in: query description: 'The last modification date of the object. ' required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/inline_response_200_23' '400': description: "Bad Request. The request could not be understood by the server.\n\n * **400** - Bad Request - Error Message provides information about what's wrong with the request\n * **1023** - Indexed field too long - One of the values in the request exceeded the maximum allowed length\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '401': description: "Unauthorized. The request requires user authentication.\n\n * **401** - Unauthorized - Provided authentication data is invalid or insufficient\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '402': description: "Payment Required.\n\n * **402** - Insufficient credit - The account does not have sufficient funds for this operation\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '403': description: "Forbidden. The user does not have permission to access the specified resource.\n\n * **403** - Forbidden - Access to this resource is not allowed with the current application token\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '404': description: "Not found. The requested resource could not be found.\n\n * **404** - Error message contains details about the missing resource - Requested resource not found\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '409': description: "Conflict. The request could not be completed due to a conflict with the current state of the target resource.\n\n * **1001** - Stale data - Concurrent resource update. Refresh the resource and retry.\n * **1011** - Error message contains details about the key being violated - Unique key constraint violated\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '500': description: "Server Error. An error has been encountered while processing this request.\n\n * **500** - Server Error - Internal server error. Please report\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. post: tags: - Contact Address Status summary: Create a new Contact Address Status description: ' Create a new Contact Address Status ' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/inline_response_200_3' '400': description: "Bad Request. The request could not be understood by the server.\n\n * **400** - Bad Request - Error Message provides information about what's wrong with the request\n * **1023** - Indexed field too long - One of the values in the request exceeded the maximum allowed length\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '401': description: "Unauthorized. The request requires user authentication.\n\n * **401** - Unauthorized - Provided authentication data is invalid or insufficient\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '402': description: "Payment Required.\n\n * **402** - Insufficient credit - The account does not have sufficient funds for this operation\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '403': description: "Forbidden. The user does not have permission to access the specified resource.\n\n * **403** - Forbidden - Access to this resource is not allowed with the current application token\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '404': description: "Not found. The requested resource could not be found.\n\n * **404** - Error message contains details about the missing resource - Requested resource not found\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '409': description: "Conflict. The request could not be completed due to a conflict with the current state of the target resource.\n\n * **1001** - Stale data - Concurrent resource update. Refresh the resource and retry.\n * **1011** - Error message contains details about the key being violated - Unique key constraint violated\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '500': description: "Server Error. An error has been encountered while processing this request.\n\n * **500** - Server Error - Internal server error. Please report\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. requestBody: content: application/json: schema: $ref: '#/components/schemas/Contact_Address_Status' /'consent/contact_address_statuses/{AddressStatus_ID}': get: tags: - Contact Address Status summary: Returns the current version of the specified Contact Address Status History description: ' Returns the current version of the specified Contact Address Status History' parameters: - name: AddressStatus_ID in: path description: The AddressStatus ID for this resource. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/inline_response_200_23_list' '400': description: "Bad Request. The request could not be understood by the server.\n\n * **400** - Bad Request - Error Message provides information about what's wrong with the request\n * **1023** - Indexed field too long - One of the values in the request exceeded the maximum allowed length\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '401': description: "Unauthorized. The request requires user authentication.\n\n * **401** - Unauthorized - Provided authentication data is invalid or insufficient\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '402': description: "Payment Required.\n\n * **402** - Insufficient credit - The account does not have sufficient funds for this operation\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '403': description: "Forbidden. The user does not have permission to access the specified resource.\n\n * **403** - Forbidden - Access to this resource is not allowed with the current application token\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '404': description: "Not found. The requested resource could not be found.\n\n * **404** - Error message contains details about the missing resource - Requested resource not found\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '409': description: "Conflict. The request could not be completed due to a conflict with the current state of the target resource.\n\n * **1001** - Stale data - Concurrent resource update. Refresh the resource and retry.\n * **1011** - Error message contains details about the key being violated - Unique key constraint violated\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '500': description: "Server Error. An error has been encountered while processing this request.\n\n * **500** - Server Error - Internal server error. Please report\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. post: tags: - Contact Address Status summary: Create a new Address Status description: ' Create a new Address Status' parameters: - name: AddressStatus_ID in: path description: The AddressStatus ID for this resource. required: true schema: type: string responses: '204': description: Successful operation. No Content in reponse. '400': description: "Bad Request. The request could not be understood by the server.\n\n * **400** - Bad Request - Error Message provides information about what's wrong with the request\n * **1023** - Indexed field too long - One of the values in the request exceeded the maximum allowed length\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '401': description: "Unauthorized. The request requires user authentication.\n\n * **401** - Unauthorized - Provided authentication data is invalid or insufficient\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '402': description: "Payment Required.\n\n * **402** - Insufficient credit - The account does not have sufficient funds for this operation\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '403': description: "Forbidden. The user does not have permission to access the specified resource.\n\n * **403** - Forbidden - Access to this resource is not allowed with the current application token\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '404': description: "Not found. The requested resource could not be found.\n\n * **404** - Error message contains details about the missing resource - Requested resource not found\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '409': description: "Conflict. The request could not be completed due to a conflict with the current state of the target resource.\n\n * **1001** - Stale data - Concurrent resource update. Refresh the resource and retry.\n * **1011** - Error message contains details about the key being violated - Unique key constraint violated\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '500': description: "Server Error. An error has been encountered while processing this request.\n\n * **500** - Server Error - Internal server error. Please report\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. requestBody: content: application/json: schema: $ref: '#/components/schemas/Contact_Address_Status_1' delete: tags: - Contact Address Status summary: Delete a Contact Address Status description: ' Delete a Contact Address Status ' parameters: - name: AddressStatus_ID in: path description: The AddressStatus ID for this resource. required: true schema: type: string responses: '204': description: Successful operation. No Content in reponse. '400': description: "Bad Request. The request could not be understood by the server.\n\n * **400** - Bad Request - Error Message provides information about what's wrong with the request\n * **1023** - Indexed field too long - One of the values in the request exceeded the maximum allowed length\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '401': description: "Unauthorized. The request requires user authentication.\n\n * **401** - Unauthorized - Provided authentication data is invalid or insufficient\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '402': description: "Payment Required.\n\n * **402** - Insufficient credit - The account does not have sufficient funds for this operation\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '403': description: "Forbidden. The user does not have permission to access the specified resource.\n\n * **403** - Forbidden - Access to this resource is not allowed with the current application token\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '404': description: "Not found. The requested resource could not be found.\n\n * **404** - Error message contains details about the missing resource - Requested resource not found\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '409': description: "Conflict. The request could not be completed due to a conflict with the current state of the target resource.\n\n * **1001** - Stale data - Concurrent resource update. Refresh the resource and retry.\n * **1011** - Error message contains details about the key being violated - Unique key constraint violated\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '500': description: "Server Error. An error has been encountered while processing this request.\n\n * **500** - Server Error - Internal server error. Please report\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. components: schemas: inline_response_200_3: type: object properties: id: type: string description: The identifier for the newly created resource. Contact_Address_Status_1: type: object properties: consent_status: type: string description: 'this is the current optin status for the specific address / sender id. The possible values are: - NONE (no optin or optout message received from the address on the specific sender id) - OPTIN (user has explicitly opted in to the sender id) - OPTOUT (user has explicitly opted out of the sender id) - BLACKLIST (blacklisted address - will be treated as explicit OPTOUT) - WHITELIST (whitelisted address - will be treated as explicit OPTIN) NOTE: Whitelisted or blacklisted status can not be overwritten by the end-user by sending messages to the sender id. Such users can be only un-listed by changing the optin-status explicitly put POST to address status ID ' version_number: type: integer description: 'An ascending version number of the resource. 1 upon creation, incremented by one for each modification done. Used to implement optimistic locking ' inline_response_200_23: type: object properties: list: type: array items: $ref: '#/components/schemas/inline_response_200_23_list' Contact_Address_Status: type: object properties: address_type: type: string description: 'The address type MDN (for phone numbers), EMAIL, SOCIAL, PUSH (...) ' inline_response_200_23_list: type: object properties: id: type: string description: 'Unique identifier, allocated by SCG at the time of address creation. This is a combination of an address type/value and sender id. SCG will allocate a new address_status_id for any message sent or received from a new combination of sender id and address value/type ' address_type: type: string description: 'The address type: MDN (for phone numbers), EMAIL, SOCIAL, PUSH (...) ' address: type: string description: 'The actual value of the address. For SMS/MMS this will be the MDN. ' sender_id: type: string description: 'the sender id accociated with the address type/value ' consent_status: type: string description: 'this is the current optin status for the specific address / sender id. The possible values are: - NONE (no optin or optout message received from the address on the specific sender id) - OPTIN (user has explicitly opted in to the sender id) - OPTOUT (user has explicitly opted out of the sender id) - BLACKLIST (blacklisted address - will be treated as explicit OPTOUT) - WHITELIST (whitelisted address - will be treated as explicit OPTIN) NOTE: Whitelisted or blacklisted status can not be overwritten by the end-user by sending messages to the sender id. Such users can be only un-listed by changing the optin-status explicitly put POST to address status ID ' from_address: type: string description: 'The sender address. ' opt_in_type: type: string description: "The consent opt in type:\n - WEB, \n - IVR, \n - APP, \n - EMAIL,\n - POS,\n - SMS,\n - SINGLE,\n - MIGRATION\n" opt_out_type: type: string description: "The consent opt out type:\n - WEB, \n - IVR, \n - APP, \n - EMAIL,\n - POS,\n - SMS,\n - SINGLE,\n - MIGRATION\n" application_id: type: integer description: 'ID of the application that has created the resource ' created_date: type: string description: 'The creation date of the object. ' last_updated_date: type: string description: 'The last modification date of the object. ' version_number: type: integer description: 'An ascending version number of the object. 1 upon creation, incremented by one for each modification done. Used to implement optimistic locking. '