Skip to main content

Pub/Sub API v2

Note

Pub/Sub API v2 is functionally equivalent to the existing Pub/Sub API v1 and provides an improved API specification. We recommend v2 for new integrations.

Common error codes​

Response Error Syntax
{
"error": {
"code": int,
"message": string
}
}

// Example
{
"error": {
"code": 3,
"message": "you have passed an invalid ack ID to the service (ack_id=MTZBRklHTVZTREZTJEpTLkFQSQ==)"
}
}

Error messages and troubleshooting​

Error CodeHTTP CodeResponse details and solutions
3 (INVALID_ARGUMENT)400Invalid request
The request is invalid; a required argument may be missing, exceeds limits, or has an invalid value.

Solution: Check the error message and retry the request.
9 (FAILED_PRECONDITION)400Failed precondition
Certain conditions must be met before this operation can proceed.

Solution: Verify the request and retry.
7 (PERMISSION_DENIED)403Permission denied
The certification is invalid.

Solution: Obtain the required permissions and retry.
5 (NOT_FOUND)404Topic or subscription not found
The referenced topic or subscription was not found. In JSON requests, this may also occur if the URL path is incorrect. For publish and pull operations, allow a few seconds for object creation propagation.

Solution: If the resource was recently created, retry the request or ensure the topic/subscription exists before retrying.
13 (INTERNAL)500Internal server error
This error should not occur. If it does, please report it to cloud support. The issue is likely transient.

Solution: Retry the request.
14 (UNAVAILABLE)503Internal server error
This error should not occur. If it does, please report it to cloud support. The issue is likely transient.

Solution: Retry the request.

Topic​

The following APIs are related to topics.

Create topic​

Creates a topic with the specified name.

API call method​
MethodURI
PUT{endpoint-url}/v2/topics
Request header​
RequestTypeRequiredDescription
Credential-IDstringRequiredAccess key ID
Credential-SecretstringRequiredSecret access key
Request Body​
Create topic Request Body
{
"name": "topic-1",
"description": "topic description",
"messageRetentionDuration": "604800s"
}
Request elements​
FieldTypeRequiredDescription
namestringRequiredName of the topic
descriptionstringOptionalDescription of the topic
messageRetentionDurationstringOptionalMessage retention period
- Default: 604800s (7 days)
Response body​
Create Topic Response Body
{
"id": string,
"domain": string,
"project": string,
"name": string,
"messageRetentionDuration": string,
"subscriptionCount": int,
"description": string,
"creator": string,
"createdAt": string
}
Response Elements​
ResponseTypeDescriptionOutput Only
idstringID of the topicO
domainstringID of the organization containing the topicO
projectstringID of the project containing the topicO
namestringName of the topic
messageRetentionDurationstringMessage retention period of the topic
subscriptionCountintNumber of subscriptions linked to the topicO
descriptionstringDescription of the topic
creatorstringCreator of the topicO
createdAttimestampTime when the topic was createdO

Retrieve topic list​

Retrieves the list of topics created in a project.

API call method​
MethodURI
GET{endpoint-url}/v2/topics
Request header​
RequestTypeRequiredDescription
Credential-IDstringRequiredAccess key ID
Credential-SecretstringRequiredSecret access key
Query parameters​
RequestTypeDescription
pageSizeintNumber of items to retrieve per request
pageTokenstringToken to fetch the next page of results
Response body​
Retrieve topic list Response Body
{
"topics": [
{
object (Topic)
}
],
"nextPageToken": string
}

//object (Topic) Example
{
"id": string,
"domain": string,
"project": string,
"name": string,
"messageRetentionDuration": string,
"subscriptionCount": int,
"description": string,
"creator": string,
"createdAt": string
}
Response Elements​
FieldTypeDescription
topicsObject Array (Topic)List of topics and their details
nextPageTokenstringToken to fetch the next page of topics
Object Array (Topic)​
FieldTypeDescriptionOutput Only
idstringID of the topicO
domainstringID of the organization containing the topicO
projectstringID of the project containing the topicO
namestringName of the topic
messageRetentionDurationstringMessage retention duration of the topic
subscriptionCountintNumber of subscriptions linked to the topicO
descriptionstringDescription of the topic
creatorstringCreator of the topicO
createdAttimestampTime when the topic was createdO

Retrieve topic details​

Fetches detailed information about a specific topic.

API call method​
MethodRequest URL
GET{endpoint-url}/v2/topics/{topic-id}
PathTypeRequiredDescription
topic-idstringRequiredID of the topic
Request header​
RequestTypeRequiredDescription
Credential-IDstringRequiredAccess key ID
Credential-SecretstringRequiredSecret access key
Response body​
Retrieve Topic Details Response Body
{
"id": string,
"domain": string,
"project": string,
"name": string,
"messageRetentionDuration": string,
"subscriptionCount": int,
"description": string,
"creator": string,
"createdAt": string
}
Response Elements​
FieldTypeDescriptionOutput Only
idstringID of the topicO
domainstringID of the organization containing the topicO
projectstringID of the project containing the topicO
namestringName of the topic
messageRetentionDurationstringMessage retention duration of the topic
subscriptionCountintNumber of subscriptions linked to the topicO
descriptionstringDescription of the topic
creatorstringCreator of the topicO
createdAttimestampTime when the topic was createdO

Publish message​

Sends one or more messages to a topic.

API call method​
MethodRequest URL
POST{endpoint-url}/v2/topics/{topic-id}/publish
PathTypeRequiredDescription
topic-idstringRequiredID of the topic
Request header​
RequestTypeRequiredDescription
Credential-IDstringRequiredAccess key ID
Credential-SecretstringRequiredSecret access key
Request body​
Publish Message Request Body
{
"messages": [
{
"data": "66mU7Iuc7KeAIOqyjOyLnCDthYzsiqTtirjsnoXri4jri6Qu",
"attributes": {
"key1": "value1",
"key2": "value2"
}
},
{
"data": "message-2"
}
]
}
Request Elements​
RequestTypeRequiredDescription
messagesObject ArrayRequiredList of messages to send to the topic
- Max: 100
message[].datastringRequired
(if attributes are absent)
Message content
- Max size: 1 MiB
⚠️ Note: Must be Base64-encoded.
message[].attributesmap
[string : string]
Required
(if data is absent)
Message attributes
- Max count: 100
- Key: 1~256 characters
- Value: 1~1024 characters
- Total size of Key and Value must not exceed 60 KiB.
⚠️ Note: Keys starting with kakaoc are not allowed.
Response body​
Publish Message Response Body
{
"messageIds": [
string,
string
]
}
Response Elements​
ResponseTypeDescription
messageIdsstring arrayUnique ID assigned to each message

Modify topic​

Modify the description, message retention period, and other properties of a topic. The message retention period can only be extended beyond the previously set value.
For user-created topics, the retention period can be extended up to 7 days, while Default-Topics can be extended up to 31 days.

API call method​
MethodRequest URL
PATCH{endpoint-url}/v2/topics/{topic-id}
PathTypeRequiredDescription
topic-idstringRequiredID of the topic
Request header​
RequestTypeRequiredDescription
Credential-IDstringRequiredAccess key ID
Credential-SecretstringRequiredSecret access key
Request body​
Modify Topic Request Body
{
"topic": {
"description": "topic description",
"messageRetentionDuration": "604800s"
},
"updateMask": "messageRetentionDuration,description"
}
Request Elements​
RequestTypeRequiredDescription
topic.descriptionstringRequiredDescription of the topic
topic.messageRetentionDurationstringOptional
(Required if included in updateMask)
Message retention period
- Can only be extended beyond the previously set value (in seconds)
updateMaskstringRequiredList of fields to update
- Separated by commas (,)
Response body​
Modify Topic Response Body
{
object (Topic) // Topic details
}

// object (Topic) Example
{
"id": string,
"domain": string,
"project": string,
"name": string,
"messageRetentionDuration": string,
"subscriptionCount": int,
"description": string,
"creator": string,
"createdAt": string
}
Response Elements​
ResponseTypeDescriptionOutput Only
idstringID of the topicO
domainstringID of the organization containing the topicO
projectstringID of the project containing the topicO
namestringName of the topic
messageRetentionDurationstringMessage retention duration of the topic
subscriptionCountintNumber of subscriptions linked to the topicO
descriptionstringDescription of the topic
creatorstringCreator of the topicO
createdAttimestampTime when the topic was createdO

Delete topic​

Deletes the specified topic.

caution

Deleting a topic will also delete all its associated subscriptions.

API call method​
MethodURI
DELETE{endpoint-url}/v2/topics/{topic-id}
PathTypeRequiredDescription
topic-idstringRequiredID of the topic
Request header​
RequestTypeRequiredDescription
Credential-IDstringRequiredAccess key ID
Credential-SecretstringRequiredSecret access key

Retrieve subscriptions of a topic​

Fetches a list of subscriptions linked to a topic.

API call method​
MethodURI
GET{endpoint-url}/v2/topics/{topic-id}/subscriptions
PathTypeRequiredDescription
topic-idstringRequiredID of the topic
Request header​
RequestTypeRequiredDescription
Credential-IDstringRequiredAccess key ID
Credential-SecretstringRequiredSecret access key
Query parameters​
RequestTypeDescription
pageSizeintNumber of items to retrieve per request
pageTokenstringToken to fetch the next page of results
Response body​
Retrieve Subscriptions of a Topic Response Body
{
"subscriptions": [
{
object (Subscription)
}
],
"nextPageToken": string
}
Response Elements​
FieldTypeDescription
subscriptionsObject Array (Subscription)List of subscriptions created for the topic
nextPageTokenstringToken to fetch the next page of subscription results

Subscription​

The following APIs are related to subscriptions.

Create subscription​

Creates a subscription with the specified name.

API call method​
MethodURI
PUT{endpoint-url}/v2/subscriptions
Request body​
Create Subscription Request Body
{
"name": "subscription-1",
"topicId": "topic-id-1",
// For creating a subscription of type Push
"pushConfig": {
object (PushConfig)
},
// For creating a subscription of type Object Storage
"objectStorageConfig": {
object (ObjectStorageConfig)
},
"ackDeadlineSeconds": 30,
"messageRetentionDuration": "604800s",
"maxDeliveryAttempt": 1,
"filter": "hasKey(\"region\")"
}
Request Elements​
RequestTypeRequiredDescription
namestringRequiredName of the subscription
topicIdstringRequiredID of the topic to associate with the subscription
pushConfigObject (PushConfig)OptionalPushSubscription details
- Endpoint Message: Object (PushEndpointMessage)
- If no endpoint is set, the subscription is created as a Pull subscription.
objectStorageConfigObject (ObjectStorageConfig)OptionalObjectStorageSubscription details
- Cannot be used together with pushConfig
messageRetentionDurationintOptionalMessage retention period
- Default: the topic's messageRetentionDuration in seconds
maxDeliveryAttemptstringOptionalNumber of message delivery attempts
- Default: -1 (unlimited)
ackDeadlineSecondsintOptionalTime that Pub/Sub waits before resending a message to the Subscriber
- Default: 10s
- If the Subscriber does not acknowledge the message within ackDeadline, the message is resent.
filterstringOptionalFilter expression that selects messages by attributes
- Supports the hasKey, hasValue, and hasPrefix functions and the AND, OR, and NOT operators
- Maximum length: 256 bytes
⚠️ Caution: You can set this value only when creating a subscription. It cannot be changed later.
PushConfig​
PushConfig
{
"pushEndpoint": string
"pushBatchSize": int,
"unwrapPayload": bool,
"writeMetadata": bool
}
FieldTypeDescription
pushEndpointstringEndpoint URL
(Only applicable for Push subscription)
pushBatchSizeintMessage batch size for push subscription
- Default: 1
- Max: 100
unwrapPayloadboolWhether to unwrap message payload
- Default: false
writeMetadataboolWhether to include metadata
(Can be set to true only if unwrapPayload is set to true)
- Default: false
ObjectStorageConfig​
ObjectStorageConfig
{
"bucket": string,
"exportIntervalMinutes": int,
"filePrefix": string,
"fileSuffix": string,
"channelCount": int,
"maxChannelCount": int,
"isExportEnabled": bool
}
FieldTypeDescriptionOutput Only
bucketstringName of the Object Storage bucket
exportIntervalMinutesintInterval for saving files to Object Storage
filePrefixstringThe prefix of the file stored in Object Storage
- Certain special characters (\ : * ? ” < > |) are not allowed, and the prefix cannot start with a slash ('/')
- Consecutive slashes ('//') are not allowed
- The combined length of the prefix and suffix must not exceed 200 bytes
fileSuffixstringThe suffix of the file stored in Object Storage
- Certain special characters (\ : * ? ” < > |) are not allowed
- Consecutive slashes ('//') are not allowed
channelCountintNumber of configured export channels
maxChannelCountintMaximum number of channels that can be created
* Only returned in Subscription Get requests (not in List requests)
O
isExportEnabledboolIndicates whether export is enabledO
Response body​
Create Subscription Response Body
{
"id": string,
"name": string,
"domain": string,
"project": string,
"topicId": string,
"topic": string,
"ackDeadlineSeconds": string,
"messageRetentionDuration": string,
"maxDeliveryAttempt": int,
"status": string,
"subscriptionType": string,
"pushConfig": {
object (PushConfig)
},
"objectStorageConfig": {
object (ObjectStorageConfig)
},
"filter": string,
"unprocessedMessageCount": int,
"creator": string,
"createdAt": string
}
Response Elements​
ResponseTypeDescriptionOutput Only
idstringID of the subscriptionO
namestringName of the subscription
domainstringDomain ID linked to the subscriptionO
projectstringProject ID linked to the subscriptionO
topicIdstringID of the topic linked to the subscription
topicstringName of the topic linked to the subscriptionO
ackDeadlineSecondsintTime Pub/Sub waits before resending a message to the Subscriber
messageRetentionDurationstringMessage retention duration for the subscription
maxDeliveryAttemptintMaximum number of message retry attempts
- -1 (default): Unlimited
- 1~100
statusstringStatus of the subscriptionO
subscriptionTypestringType of subscription
- PULL, PUSH, OBJECT_STORAGE
O
pushConfigObject (PushConfig)Endpoint settings for Push type subscriptions
objectStorageConfigObject (ObjectStorageConfig)Configuration settings for Object Storage type subscriptions
filterstringFilter expression that selects messages by attributes. It can be set only when creating a subscription.
unprocessedMessageCountintCurrent number of unprocessed messages in the subscriptionO
creatorstringCreator of the subscriptionO
createdAttimestampTime when the subscription was createdO

Retrieve subscription list​

Fetches the list of subscriptions created in a project.

API call method​
MethodURI
GET{endpoint-url}/v2/subscriptions
Request header​
RequestTypeRequiredDescription
Credential-IDstringRequiredAccess key ID
Credential-SecretstringRequiredSecret access key
Query parameters​
RequestTypeDescription
pageSizeintNumber of items to retrieve per request
pageTokenstringToken to fetch the next page of results
Response body​
Retrieve Subscription List Response Body
{
"subscriptions": [
{
Object (Subscription)
}
],
"nextPageToken": string
}

//Object (Subscription) Example
{
"id": string,
"name": string,
"domain": string,
"project": string,
"topicId": string,
"topic": string,
"ackDeadlineSeconds": string,
"messageRetentionDuration": string,
"maxDeliveryAttempt": int,
"status": string,
"subscriptionType": string,
"pushConfig": {
object (PushConfig)
},
"objectStorageConfig": {
object (ObjectStorageConfig)
},
"filter": string,
"unprocessedMessageCount": int,
"creator": string,
"createdAt": string
}
Response Elements​
FieldTypeDescription
subscriptionsObject Array (Subscription)List of subscriptions created in the project
nextPageTokenstringToken to fetch the next page of subscription results
Object Array (Subscription)​
FieldTypeDescriptionOutput Only
idstringID of the subscriptionO
namestringName of the subscription
domainstringDomain ID linked to the subscriptionO
projectstringProject ID linked to the subscriptionO
topicIdstringID of the topic linked to the subscription
topicstringName of the topic linked to the subscriptionO
ackDeadlineSecondsintTime Pub/Sub waits before resending a message to the subscriber
messageRetentionDurationstringMessage retention period for the subscription
maxDeliveryAttemptintMaximum number of message retry attempts
- -1 (default): Unlimited
- Range: 1~100
statusstringStatus of the subscriptionO
subscriptionTypestringType of the subscription
- PULL, PUSH, OBJECT_STORAGE
O
pushConfigObject (PushConfig)Endpoint settings for Push type subscriptions
objectStorageConfigObject (ObjectStorageConfig)Configuration settings for Object Storage type subscriptions
filterstringFilter expression that selects messages by attributes. It can be set only when creating a subscription.
creatorstringCreator of the subscriptionO
createdAttimestampTime when the subscription was createdO

Retrieve subscription details​

Retrieves the details of a specific subscription.

API call method​
MethodRequest URL
GET{endpoint-url}/v2/subscriptions/{subscription-id}
PathTypeRequiredDescription
subscription-idstringRequiredID of the subscription
Request header​
RequestTypeRequiredDescription
Credential-IDstringRequiredAccess key ID
Credential-SecretstringRequiredSecret access key
Response body​
Retrieve Subscription Details Object (Subscription) Response Body
{
"id": string,
"name": string,
"domain": string,
"project": string,
"topicId": string,
"topic": string,
"ackDeadlineSeconds": string,
"messageRetentionDuration": string,
"maxDeliveryAttempt": int,
"status": string,
"subscriptionType": string,
"pushConfig": {
object (PushConfig)
},
"objectStorageConfig": {
object (ObjectStorageConfig)
},
"filter": string,
"unprocessedMessageCount": int,
"creator": string,
"createdAt": string
}
Response Elements​
FieldTypeDescriptionOutput only
idstringThe id of the subscriptionO   
namestringThe name of the subscription
domainstringThe domain name associated with the subscriptionO
projectstringThe project name associated with the subscriptionO
topicIdstringThe ID of the topic associated with the subscription
topicstringThe name of the topic associated with the subscriptionO
ackDeadlineSecondsintThe time pub/sub waits before resending a message to the subscriber
messageRetentionDurationstringThe message retention duration for the subscription
maxDeliveryAttemptintThe number of times a message is retried
- -1(default): unlimited
- configurable between 1 and 100
statusstringThe status of the subscriptionO
subscriptionTypestringThe type of subscription
- PULL, PUSH, OBJECT_STORAGE
O
pushConfigobject (PushConfig)Endpoint configuration for push-type subscriptions
objectStorageConfigobject (ObjectStorageConfig)Property settings for object storage subscription type
filterstringFilter expression that selects messages by attributes. It can be set only when creating a subscription.
unprocessedMessageCountintThe current number of unprocessed messages in the subscriptionO
creatorstringThe creator of the subscriptionO
createdAttimestampThe timestamp of subscription creationO

Update subscription (Patch)​

Modifies the subscription's configuration.

API call method​
MethodURI
PATCH{endpoint-url}/v2/subscriptions/{subscription-id}
PathTypeRequiredDescription
subscription-idstringRequiredID of the subscription
Request Header​
requesttyperequireddescription
credential-idstringrequired   Access key ID
credential-secretstringrequired   Secret access key
Request Body​
Update Subscription Object (Subscription) Request Body

{
"subscription":{
"pushConfig": {
Object (PushConfig)
},
"objectStorageConfig": {
Object (ObjectStorageConfig)
},
"ackDeadlineSeconds": 30,
"messageRetentionDuration": "604800s",
"maxDeliveryAttempt": 5
},
"updateMask": "ackDeadlineSeconds,messageRetentionDuration,pushConfig.pushEndpoint,maxDeliveryAttempt"
}
FieldTypeRequiredDescription
subscription.pushConfigObject (PushConfig)OptionalEndpoint URL (for Push subscriptions)
subscription.objectStorageConfigObject (ObjectStorageConfig)OptionalBucket details (for Object Storage subscription type)
subscription.ackDeadlineSecondsintOptionalTime Pub/Sub waits before resending a message to the Subscriber
subscription.messageRetentionDurationstringOptionalMessage retention duration
subscription.maxDeliveryAttemptintOptionalNumber of message retry attempts
updateMaskstringRequiredList of fields to update
- Separated by commas (,)
Response body​
Update Subscription Object (Subscription) Response Body
{
"id": string,
"name": string,
"domain": string,
"project": string,
"topicId": string,
"topic": string,
"ackDeadlineSeconds": string,
"messageRetentionDuration": string,
"maxDeliveryAttempt": int,
"status": string,
"subscriptionType": string,
"pushConfig": {
object (PushConfig)
},
"objectStorageConfig": {
object (ObjectStorageConfig)
},
"filter": string,
"unprocessedMessageCount": int,
"creator": string,
"createdAt": string
}
Response Elements​
FieldTypeDescriptionOutput Only
idstringID of the subscriptionO
namestringName of the subscription
domainstringDomain ID linked to the subscriptionO
projectstringProject ID linked to the subscriptionO
topicIdstringID of the topic linked to the subscription
topicstringName of the topic linked to the subscriptionO
ackDeadlineSecondsintTime Pub/Sub waits before resending a message to the subscriber
messageRetentionDurationstringMessage retention period for the subscription
maxDeliveryAttemptintMaximum number of message retry attempts
- -1 (default): Unlimited
- Range: 1~100
statusstringStatus of the subscriptionO
subscriptionTypestringType of the subscription
- PULL, PUSH, OBJECT_STORAGE
O
pushConfigObject (PushConfig)Endpoint settings for Push type subscriptions
objectStorageConfigObject (ObjectStorageConfig)Configuration settings for Object Storage type subscriptions
filterstringFilter expression that selects messages by attributes. It can be set only when creating a subscription.
unprocessedMessageCountintCurrent number of unprocessed messages in the subscriptionO
creatorstringCreator of the subscriptionO
createdAttimestampTime when the subscription was createdO

Delete subscription​

Deletes the specified subscription.

MethodURI
DELETE{endpoint-url}/v2/subscriptions/{subscription-id}

Pull messages​

Retrieves messages. This operation is supported only for Pull subscriptions.

API call method​
MethodURI
POST{endpoint-url}/v2/subscriptions/{subscription-id}/pull
PathTypeRequiredDescription
subscription-idstringRequiredID of the subscription
Request header​
RequestTypeRequiredDescription
Credential-IDstringRequiredAccess key ID
Credential-SecretstringRequiredSecret access key
Request body​
Pull Messages Request Body
{
"maxMessages": 1,
"waitTime": "100ms"
}
RequestTypeRequiredDescription
maxMessagesintRequiredNumber of messages to fetch
- Max: 100
⚠️ If message size is large, fewer messages than requested may be received due to waitTime.
waitTimestringOptionalFetch wait time for messages
- Default: 100ms
- Max: 30s (specified in seconds)
Response body​
Pull Messages Response Body
{
"receivedMessages": [
{
object (ReceivedMessage)
}
]
}

//object (ReceivedMessage) Example
{
"ackId": string,
"message": {
object (PubsubMessage)
},
"deliveryAttempt": int
}

//// object (PubsubMessage) Example
{
"data": string,
"attributes": {
string: string
...
},
"messageId": string,
"publishTime": string
}
Response Elements​
FieldType
receivedMessagesObject Array (ReceivedMessage)
ReceivedMessage​
FieldTypeDescription
ackIdstringID used to perform specific actions (acknowledge, modifyAckDeadline) on the message
messageObject (PubsubMessage)Message details
deliveryAttemptintNumber of times the message has been redelivered
PubsubMessage​
FieldTypeDescription
datastring (required)Content of the message, maximum size 1 MiB
attributesmap (key: string, value: string) (optional)Attributes of the message, maximum of 100
messageIdstringUnique message ID, matches the ID assigned to the message in the Publish response
publishTimestringTime the message was published
⚠️ Time: UTC format

Acknowledge message​

Processes acknowledgment for a message using its ackId.

API call method​
MethodURI
POST{endpoint-url}/v2/subscriptions/{subscription-id}/acknowledge
PathTypeRequiredDescription
subscription-idstringRequiredID of the subscription
Request header​
FieldTypeRequiredDescription
Credential-IDstringRequiredAccess key ID
Credential-SecretstringRequiredSecret access key
Request body​
Acknowledge Message Request Body
{
"ackIds": ["ack-id-1"]
}
RequestTypeRequiredDescription
ackIdsstring arrayRequiredList of ackIds for messages to be acknowledged
Response body​
Acknowledge Message Response Body
{
"failure": [
{
object (FailedAckID)
}
]
}

//object (FailedAckID) Example
{
"ackID": string,
"error": object (Error)
}
Response Elements​
ResponseType
failureObject (FailedAckID)
FailedAckID​
FieldTypeDescription
ackIDstringOriginal ackId
errorstringObject(Error), contains error code and message

Modify message ack deadline​

Extend or shorten the message acknowledgment deadline (Ack Deadline). Upon success, a new ackId is issued.

API call method​
MethodURI
POST{endpoint-url}/v2/subscriptions/{subscription-id}/modifyAckDeadline
PathTypeRequiredDescription
subscription-idstringRequiredID of the subscription
Request header​
FieldTypeRequiredDescription
Credential-IDstringRequiredAccess key ID
Credential-SecretstringRequiredSecret access key
Request body​
Modify Acknowledgment Deadline Request Body
{
"ackIds": ["ack-id-1"],
"action": "extend"
}
RequestTypeRequiredDescription
ackIdsstring ArrayRequiredList of ackIds for messages to modify the acknowledgment deadline
actionstringRequiredAction to perform:
- Extend: Extends the message usage time by the subscription's AckDeadline from now
- Skip: Sets the message usage time to 0, allowing other clients to receive the message
Response body​
Modify Acknowledgment Deadline Response Body
{
"success": [
{
object (AckID)
}
],
"failure": [
{
object (FailedAckID)
}
]
}

//object (AckID) Example
{
"ackID": string,
"reissuedAckID": string
}

//object (FailedAckID) Example
{
"ackID": string,
"error": object (Error)
}
Response Elements​
ResponseTypeDescription
successObject (AckID)List of successfully modified Ack IDs
failureObject (FailedAckID)List of failed Ack IDs
AckID​
FieldTypeDescription
ackIDstringOriginal acknowledgment ID
reissuedAckIDstringNewly issued acknowledgment ID
FailedAckID​
FieldTypeDescription
ackIDstringOriginal acknowledgment ID
errorstringObject (Error), including error code and description

Rewind messages (Seek)​

Allows rewinding a subscription to a specific point in time, so all messages published after that point can be received again.

API call format​
MethodURI
POST{endpoint-url}/v2/subscriptions/{subscription-id}/seek
PathTypeRequiredDescription
subscription-idstringRequiredID of the subscription
Request Header​
HeaderTypeRequiredDescription
Credential-IDstringRequiredAccess key ID
Credential-SecretstringRequiredSecret access key
Request Body​
Seek Request Body
{
"time": string
}
RequestTypeRequiredDescription
timestringrequired  the time to rewind
- Format: "2006-01-02T15:04:05+09:00", KST
Response body​

No response body.