> Markdown version of https://docs.paynow.gg/management-api/tags/. The index of all pages is at https://docs.paynow.gg/llms.txt, and any page can be read as Markdown by appending `.md` to its URL.

# Tags

## Get all tags for a store

> Retrieves all tags for the specified store.

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"tags":[{"name":"tags"}],"security":[{"APIKey":[]}],"components":{"securitySchemes":{"APIKey":{"type":"apiKey","description":"An API Key token generated in the Dashboard in the format 'APIKey TOKEN_HERE'.","name":"Authorization","in":"header","x-gitbook-prefix":"APIKey","x-gitbook-token-placeholder":"TOKEN_HERE"}},"schemas":{"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id","example":"411486491630370816"},"TagDto":{"required":["created_at","created_by","enabled","id","name","slug","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"created_at":{"type":"string","description":"When the tag was created","format":"date-time"},"created_by":{"$ref":"#/components/schemas/ActorDto"},"name":{"type":"string","description":"The unique name for the tag."},"slug":{"type":"string","description":"The unique slug for the tag."},"description":{"type":["null","string"],"description":"The description of the tag."},"image_url":{"type":["null","string"],"description":"The Image URL associated with the tag."},"media_asset_id":{"$ref":"#/components/schemas/FlakeId"},"enabled":{"type":"boolean","description":"Indicates whether this tag is enabled."},"updated_at":{"type":["null","string"],"description":"When the tag was last updated.","format":"date-time"},"updated_by":{"$ref":"#/components/schemas/ActorDto"}},"additionalProperties":false},"ActorDto":{"required":["type"],"type":"object","properties":{"type":{"$ref":"#/components/schemas/PayNowActorType"},"id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false,"description":"Represents the actor that performed an action, such as the user, API key or game server that\ncreated or changed a record."},"PayNowActorType":{"enum":["anonymous","user","api_key","customer","game_server","internal","admin","platform","global_customer"],"type":"string"},"PayNowError":{"required":["code","message","status"],"type":"object","properties":{"status":{"type":"integer","description":"The HTTP status code.","format":"int32","example":400},"code":{"type":"string","description":"The PayNow parseable error code.","example":"bad-request"},"message":{"type":"string","description":"The human-readable error message.","example":"Bad Request Example"},"trace_id":{"type":["null","string"],"description":"A distributed trace ID used for debugging.","example":"234a5bcd543ef3fa53ce929d0e0e4736"},"errors":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ValidationError"},"description":"An array of multiple errors. Only used by some API services."}},"additionalProperties":false,"description":"Represents a PayNow error"},"ValidationError":{"required":["code","message","path","validation"],"type":"object","properties":{"code":{"type":"string","description":"The parseable error code."},"message":{"type":"string","description":"The human-readable error message."},"path":{"type":"string","description":"The path leading to the validation error."},"validation":{"type":"string","description":"Type of the validation that failed."}},"additionalProperties":false,"description":"A validation error."}}},"paths":{"/v1/stores/{storeId}/tags":{"get":{"tags":["tags"],"summary":"Get all tags for a store","description":"Retrieves all tags for the specified store.","operationId":"Tags_GetTags","parameters":[{"name":"storeId","in":"path","description":"The ID of the store to retrieve tags for.","required":true,"schema":{"$ref":"#/components/schemas/FlakeId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDto"}}}}},"default":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayNowError"}}}}},"security":[{"APIKey":[]}],"x-paynow-mcp":{"name":"paynow_list_tags","description":"Lists every tag (product category). Use it to find tag IDs for products, navigation links, sales and coupons.","readOnly":true}}}}}
```

## Create a new tag

> Creates a new tag in the specified store.

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"tags":[{"name":"tags"}],"security":[{"APIKey":[]}],"components":{"securitySchemes":{"APIKey":{"type":"apiKey","description":"An API Key token generated in the Dashboard in the format 'APIKey TOKEN_HERE'.","name":"Authorization","in":"header","x-gitbook-prefix":"APIKey","x-gitbook-token-placeholder":"TOKEN_HERE"}},"schemas":{"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id","example":"411486491630370816"},"UpsertTagRequestDto":{"type":"object","properties":{"name":{"type":["null","string"]},"slug":{"type":["null","string"]},"description":{"type":["null","string"]},"enabled":{"type":["null","boolean"]},"media_asset_id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false},"TagDto":{"required":["created_at","created_by","enabled","id","name","slug","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"created_at":{"type":"string","description":"When the tag was created","format":"date-time"},"created_by":{"$ref":"#/components/schemas/ActorDto"},"name":{"type":"string","description":"The unique name for the tag."},"slug":{"type":"string","description":"The unique slug for the tag."},"description":{"type":["null","string"],"description":"The description of the tag."},"image_url":{"type":["null","string"],"description":"The Image URL associated with the tag."},"media_asset_id":{"$ref":"#/components/schemas/FlakeId"},"enabled":{"type":"boolean","description":"Indicates whether this tag is enabled."},"updated_at":{"type":["null","string"],"description":"When the tag was last updated.","format":"date-time"},"updated_by":{"$ref":"#/components/schemas/ActorDto"}},"additionalProperties":false},"ActorDto":{"required":["type"],"type":"object","properties":{"type":{"$ref":"#/components/schemas/PayNowActorType"},"id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false,"description":"Represents the actor that performed an action, such as the user, API key or game server that\ncreated or changed a record."},"PayNowActorType":{"enum":["anonymous","user","api_key","customer","game_server","internal","admin","platform","global_customer"],"type":"string"},"PayNowError":{"required":["code","message","status"],"type":"object","properties":{"status":{"type":"integer","description":"The HTTP status code.","format":"int32","example":400},"code":{"type":"string","description":"The PayNow parseable error code.","example":"bad-request"},"message":{"type":"string","description":"The human-readable error message.","example":"Bad Request Example"},"trace_id":{"type":["null","string"],"description":"A distributed trace ID used for debugging.","example":"234a5bcd543ef3fa53ce929d0e0e4736"},"errors":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ValidationError"},"description":"An array of multiple errors. Only used by some API services."}},"additionalProperties":false,"description":"Represents a PayNow error"},"ValidationError":{"required":["code","message","path","validation"],"type":"object","properties":{"code":{"type":"string","description":"The parseable error code."},"message":{"type":"string","description":"The human-readable error message."},"path":{"type":"string","description":"The path leading to the validation error."},"validation":{"type":"string","description":"Type of the validation that failed."}},"additionalProperties":false,"description":"A validation error."}}},"paths":{"/v1/stores/{storeId}/tags":{"post":{"tags":["tags"],"summary":"Create a new tag","description":"Creates a new tag in the specified store.","operationId":"Tags_CreateTag","parameters":[{"name":"storeId","in":"path","description":"The ID of the store to create the tag in.","required":true,"schema":{"$ref":"#/components/schemas/FlakeId"}}],"requestBody":{"description":"The tag to create.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertTagRequestDto"}},"text/json":{"schema":{"$ref":"#/components/schemas/UpsertTagRequestDto"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/UpsertTagRequestDto"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDto"}}}},"default":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayNowError"}}}}},"security":[{"APIKey":[]}],"x-paynow-mcp":{"name":"paynow_create_tag","description":"Creates a tag. 'name' and 'slug' must be unique in the store. Tag images can only be uploaded from the dashboard.","readOnly":false}}}}}
```

## Get a tag by an ID

> Retrieves a tag by the ID for the specified store.

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"tags":[{"name":"tags"}],"security":[{"APIKey":[]}],"components":{"securitySchemes":{"APIKey":{"type":"apiKey","description":"An API Key token generated in the Dashboard in the format 'APIKey TOKEN_HERE'.","name":"Authorization","in":"header","x-gitbook-prefix":"APIKey","x-gitbook-token-placeholder":"TOKEN_HERE"}},"schemas":{"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id","example":"411486491630370816"},"TagDto":{"required":["created_at","created_by","enabled","id","name","slug","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"created_at":{"type":"string","description":"When the tag was created","format":"date-time"},"created_by":{"$ref":"#/components/schemas/ActorDto"},"name":{"type":"string","description":"The unique name for the tag."},"slug":{"type":"string","description":"The unique slug for the tag."},"description":{"type":["null","string"],"description":"The description of the tag."},"image_url":{"type":["null","string"],"description":"The Image URL associated with the tag."},"media_asset_id":{"$ref":"#/components/schemas/FlakeId"},"enabled":{"type":"boolean","description":"Indicates whether this tag is enabled."},"updated_at":{"type":["null","string"],"description":"When the tag was last updated.","format":"date-time"},"updated_by":{"$ref":"#/components/schemas/ActorDto"}},"additionalProperties":false},"ActorDto":{"required":["type"],"type":"object","properties":{"type":{"$ref":"#/components/schemas/PayNowActorType"},"id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false,"description":"Represents the actor that performed an action, such as the user, API key or game server that\ncreated or changed a record."},"PayNowActorType":{"enum":["anonymous","user","api_key","customer","game_server","internal","admin","platform","global_customer"],"type":"string"},"PayNowError":{"required":["code","message","status"],"type":"object","properties":{"status":{"type":"integer","description":"The HTTP status code.","format":"int32","example":400},"code":{"type":"string","description":"The PayNow parseable error code.","example":"bad-request"},"message":{"type":"string","description":"The human-readable error message.","example":"Bad Request Example"},"trace_id":{"type":["null","string"],"description":"A distributed trace ID used for debugging.","example":"234a5bcd543ef3fa53ce929d0e0e4736"},"errors":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ValidationError"},"description":"An array of multiple errors. Only used by some API services."}},"additionalProperties":false,"description":"Represents a PayNow error"},"ValidationError":{"required":["code","message","path","validation"],"type":"object","properties":{"code":{"type":"string","description":"The parseable error code."},"message":{"type":"string","description":"The human-readable error message."},"path":{"type":"string","description":"The path leading to the validation error."},"validation":{"type":"string","description":"Type of the validation that failed."}},"additionalProperties":false,"description":"A validation error."}}},"paths":{"/v1/stores/{storeId}/tags/{tagId}":{"get":{"tags":["tags"],"summary":"Get a tag by an ID","description":"Retrieves a tag by the ID for the specified store.","operationId":"Tags_GetTag","parameters":[{"name":"storeId","in":"path","description":"The ID of the store to retrieve the tag for.","required":true,"schema":{"$ref":"#/components/schemas/FlakeId"}},{"name":"tagId","in":"path","description":"The ID of the tag.","required":true,"schema":{"$ref":"#/components/schemas/FlakeId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDto"}}}},"default":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayNowError"}}}}},"security":[{"APIKey":[]}],"x-paynow-mcp":{"name":"paynow_get_tag","description":"Returns one tag by ID.","readOnly":true}}}}}
```

## Update a tag by ID

> Performs a delta update of a tag by the ID for the specified store.

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"tags":[{"name":"tags"}],"security":[{"APIKey":[]}],"components":{"securitySchemes":{"APIKey":{"type":"apiKey","description":"An API Key token generated in the Dashboard in the format 'APIKey TOKEN_HERE'.","name":"Authorization","in":"header","x-gitbook-prefix":"APIKey","x-gitbook-token-placeholder":"TOKEN_HERE"}},"schemas":{"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id","example":"411486491630370816"},"UpsertTagRequestDto":{"type":"object","properties":{"name":{"type":["null","string"]},"slug":{"type":["null","string"]},"description":{"type":["null","string"]},"enabled":{"type":["null","boolean"]},"media_asset_id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false},"TagDto":{"required":["created_at","created_by","enabled","id","name","slug","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"created_at":{"type":"string","description":"When the tag was created","format":"date-time"},"created_by":{"$ref":"#/components/schemas/ActorDto"},"name":{"type":"string","description":"The unique name for the tag."},"slug":{"type":"string","description":"The unique slug for the tag."},"description":{"type":["null","string"],"description":"The description of the tag."},"image_url":{"type":["null","string"],"description":"The Image URL associated with the tag."},"media_asset_id":{"$ref":"#/components/schemas/FlakeId"},"enabled":{"type":"boolean","description":"Indicates whether this tag is enabled."},"updated_at":{"type":["null","string"],"description":"When the tag was last updated.","format":"date-time"},"updated_by":{"$ref":"#/components/schemas/ActorDto"}},"additionalProperties":false},"ActorDto":{"required":["type"],"type":"object","properties":{"type":{"$ref":"#/components/schemas/PayNowActorType"},"id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false,"description":"Represents the actor that performed an action, such as the user, API key or game server that\ncreated or changed a record."},"PayNowActorType":{"enum":["anonymous","user","api_key","customer","game_server","internal","admin","platform","global_customer"],"type":"string"},"PayNowError":{"required":["code","message","status"],"type":"object","properties":{"status":{"type":"integer","description":"The HTTP status code.","format":"int32","example":400},"code":{"type":"string","description":"The PayNow parseable error code.","example":"bad-request"},"message":{"type":"string","description":"The human-readable error message.","example":"Bad Request Example"},"trace_id":{"type":["null","string"],"description":"A distributed trace ID used for debugging.","example":"234a5bcd543ef3fa53ce929d0e0e4736"},"errors":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ValidationError"},"description":"An array of multiple errors. Only used by some API services."}},"additionalProperties":false,"description":"Represents a PayNow error"},"ValidationError":{"required":["code","message","path","validation"],"type":"object","properties":{"code":{"type":"string","description":"The parseable error code."},"message":{"type":"string","description":"The human-readable error message."},"path":{"type":"string","description":"The path leading to the validation error."},"validation":{"type":"string","description":"Type of the validation that failed."}},"additionalProperties":false,"description":"A validation error."}}},"paths":{"/v1/stores/{storeId}/tags/{tagId}":{"patch":{"tags":["tags"],"summary":"Update a tag by ID","description":"Performs a delta update of a tag by the ID for the specified store.","operationId":"Tags_UpdateTag","parameters":[{"name":"storeId","in":"path","description":"The ID of the store to update the tag for.","required":true,"schema":{"$ref":"#/components/schemas/FlakeId"}},{"name":"tagId","in":"path","description":"The ID of the tag.","required":true,"schema":{"$ref":"#/components/schemas/FlakeId"}}],"requestBody":{"description":"The tag fields to update.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertTagRequestDto"}},"text/json":{"schema":{"$ref":"#/components/schemas/UpsertTagRequestDto"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/UpsertTagRequestDto"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDto"}}}},"default":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayNowError"}}}}},"security":[{"APIKey":[]}],"x-paynow-mcp":{"name":"paynow_update_tag","description":"Partial update - send only the fields to change.","readOnly":false}}}}}
```

## Delete a tag by ID

> Deletes a tag by the ID for the specified store.

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"tags":[{"name":"tags"}],"security":[{"APIKey":[]}],"components":{"securitySchemes":{"APIKey":{"type":"apiKey","description":"An API Key token generated in the Dashboard in the format 'APIKey TOKEN_HERE'.","name":"Authorization","in":"header","x-gitbook-prefix":"APIKey","x-gitbook-token-placeholder":"TOKEN_HERE"}},"schemas":{"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id","example":"411486491630370816"},"PayNowError":{"required":["code","message","status"],"type":"object","properties":{"status":{"type":"integer","description":"The HTTP status code.","format":"int32","example":400},"code":{"type":"string","description":"The PayNow parseable error code.","example":"bad-request"},"message":{"type":"string","description":"The human-readable error message.","example":"Bad Request Example"},"trace_id":{"type":["null","string"],"description":"A distributed trace ID used for debugging.","example":"234a5bcd543ef3fa53ce929d0e0e4736"},"errors":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ValidationError"},"description":"An array of multiple errors. Only used by some API services."}},"additionalProperties":false,"description":"Represents a PayNow error"},"ValidationError":{"required":["code","message","path","validation"],"type":"object","properties":{"code":{"type":"string","description":"The parseable error code."},"message":{"type":"string","description":"The human-readable error message."},"path":{"type":"string","description":"The path leading to the validation error."},"validation":{"type":"string","description":"Type of the validation that failed."}},"additionalProperties":false,"description":"A validation error."}}},"paths":{"/v1/stores/{storeId}/tags/{tagId}":{"delete":{"tags":["tags"],"summary":"Delete a tag by ID","description":"Deletes a tag by the ID for the specified store.","operationId":"Tags_DeleteTag","parameters":[{"name":"storeId","in":"path","description":"The ID of the store to delete the tag for.","required":true,"schema":{"$ref":"#/components/schemas/FlakeId"}},{"name":"tagId","in":"path","description":"The ID of the tag.","required":true,"schema":{"$ref":"#/components/schemas/FlakeId"}}],"responses":{"204":{"description":"No Content"},"default":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayNowError"}}}}},"security":[{"APIKey":[]}],"x-paynow-mcp":{"name":"paynow_delete_tag","description":"Permanently deletes a tag. To hide it instead, set 'enabled' to false.","readOnly":false}}}}}
```

## Delete tag image

> Deletes an image for a tag

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"tags":[{"name":"tags"}],"security":[{"APIKey":[]}],"components":{"securitySchemes":{"APIKey":{"type":"apiKey","description":"An API Key token generated in the Dashboard in the format 'APIKey TOKEN_HERE'.","name":"Authorization","in":"header","x-gitbook-prefix":"APIKey","x-gitbook-token-placeholder":"TOKEN_HERE"}},"schemas":{"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id","example":"411486491630370816"},"PayNowError":{"required":["code","message","status"],"type":"object","properties":{"status":{"type":"integer","description":"The HTTP status code.","format":"int32","example":400},"code":{"type":"string","description":"The PayNow parseable error code.","example":"bad-request"},"message":{"type":"string","description":"The human-readable error message.","example":"Bad Request Example"},"trace_id":{"type":["null","string"],"description":"A distributed trace ID used for debugging.","example":"234a5bcd543ef3fa53ce929d0e0e4736"},"errors":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ValidationError"},"description":"An array of multiple errors. Only used by some API services."}},"additionalProperties":false,"description":"Represents a PayNow error"},"ValidationError":{"required":["code","message","path","validation"],"type":"object","properties":{"code":{"type":"string","description":"The parseable error code."},"message":{"type":"string","description":"The human-readable error message."},"path":{"type":"string","description":"The path leading to the validation error."},"validation":{"type":"string","description":"Type of the validation that failed."}},"additionalProperties":false,"description":"A validation error."}}},"paths":{"/v1/stores/{storeId}/tags/{tagId}/image":{"delete":{"tags":["tags"],"summary":"Delete tag image","description":"Deletes an image for a tag","operationId":"Tags_DeleteTagImage","parameters":[{"name":"storeId","in":"path","description":"The ID of the store the tag belongs to.","required":true,"schema":{"$ref":"#/components/schemas/FlakeId"}},{"name":"tagId","in":"path","description":"The ID of the tag.","required":true,"schema":{"$ref":"#/components/schemas/FlakeId"}}],"responses":{"204":{"description":"No Content"},"default":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayNowError"}}}}},"security":[{"APIKey":[]}],"x-paynow-mcp":{"name":"paynow_delete_tag_image","description":"Removes a tag's image - the tag is kept. Images can only be re-uploaded from the dashboard.","readOnly":false}}}}}
```

