> ## Documentation Index
> Fetch the complete documentation index at: https://discord-markm-docs-lobby-membership-disconnect.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Guild Template Resource

> Reference for Discord Guild Template objects and management endpoints.

export const Route = ({method, children}) => {
  return <div className="MDXRoute">
      <span className={"verb" + " " + method.toLowerCase()}>{method}</span>
      <span className="url">{children}</span>
    </div>;
};

export const ManualAnchor = ({id}) => {
  return <div className="MDXManualAnchor" id={id}></div>;
};

### Guild Template Object

Represents a code that when used, creates a guild based on a snapshot of an existing guild.

<ManualAnchor id="guild-template-object-guild-template-structure" />

###### Guild Template Structure

| Field | Type | Description |
| - | - | - |
| code | string | the template code (unique ID) |
| name | string | template name |
| description | ?string | the description for the template |
| usage\_count | integer | number of times this template has been used |
| creator\_id | snowflake | the ID of the user who created the template |
| creator | [user](/developers/resources/user#user-object) object | the user who created the template |
| created\_at | ISO8601 timestamp | when this template was created |
| updated\_at | ISO8601 timestamp | when this template was last synced to the source guild |
| source\_guild\_id | snowflake | the ID of the guild this template is based on |
| serialized\_source\_guild | partial [guild](/developers/resources/guild#guild-object) object | the guild snapshot this template contains; placeholder IDs are given as integers |
| is\_dirty | ?boolean | whether the template has unsynced changes |

<ManualAnchor id="guild-template-object-example-guild-template-object" />

###### Example Guild Template Object

```json theme={null}
{
  "code": "hgM48av5Q69A",
  "name": "Friends & Family",
  "description": "",
  "usage_count": 49605,
  "creator_id": "132837293881950208",
  "creator": {
    "id": "132837293881950208",
    "username": "hoges",
    "avatar": "79b0d9f8c340f2d43e1f78b09f175b62",
    "discriminator": "0001",
    "public_flags": 129
  },
  "created_at": "2020-04-02T21:10:38+00:00",
  "updated_at": "2020-05-01T17:57:38+00:00",
  "source_guild_id": "678070694164299796",
  "serialized_source_guild": {
    "name": "Friends & Family",
    "description": null,
    "region": "us-west",
    "verification_level": 0,
    "default_message_notifications": 0,
    "explicit_content_filter": 0,
    "preferred_locale": "en-US",
    "afk_timeout": 300,
    "roles": [
      {
        "id": 0,
        "name": "@everyone",
        "permissions": 104324689,
        "color": 0,
        "hoist": false,
        "mentionable": false
      }
    ],
    "channels": [
      {
        "name": "Text Channels",
        "position": 1,
        "topic": null,
        "bitrate": 64000,
        "user_limit": 0,
        "nsfw": false,
        "rate_limit_per_user": 0,
        "parent_id": null,
        "permission_overwrites": [],
        "id": 1,
        "type": 4
      },
      {
        "name": "general",
        "position": 1,
        "topic": null,
        "bitrate": 64000,
        "user_limit": 0,
        "nsfw": false,
        "rate_limit_per_user": 0,
        "parent_id": 1,
        "permission_overwrites": [],
        "id": 2,
        "type": 0
      }
    ],
    "afk_channel_id": null,
    "system_channel_id": 2,
    "system_channel_flags": 0,
    "icon_hash": null
  },
  "is_dirty": null
}
```

## Get Guild Template

<Route method="GET">/guilds/templates/[\{template.code}](/developers/resources/guild-template#guild-template-object)</Route>

Returns a [guild template](/developers/resources/guild-template#guild-template-object) object for the given code.

## Get Guild Templates

<Route method="GET">/guilds/[\{guild.id}](/developers/resources/guild#guild-object)/templates</Route>

Returns an array of [guild template](/developers/resources/guild-template#guild-template-object) objects. Requires the `MANAGE_GUILD` permission.

## Create Guild Template

<Route method="POST">/guilds/[\{guild.id}](/developers/resources/guild#guild-object)/templates</Route>

Creates a template for the guild. Requires the `MANAGE_GUILD` permission. Returns the created [guild template](/developers/resources/guild-template#guild-template-object) object on success.

<ManualAnchor id="create-guild-template-json-params" />

###### JSON Params

| Field | Type | Description |
| - | - | - |
| name | string | name of the template (1-100 characters) |
| description? | ?string | description for the template (0-120 characters) |

## Sync Guild Template

<Route method="PUT">/guilds/[\{guild.id}](/developers/resources/guild#guild-object)/templates/[\{template.code}](/developers/resources/guild-template#guild-template-object)</Route>

Syncs the template to the guild's current state. Requires the `MANAGE_GUILD` permission. Returns the [guild template](/developers/resources/guild-template#guild-template-object) object on success.

## Modify Guild Template

<Route method="PATCH">/guilds/[\{guild.id}](/developers/resources/guild#guild-object)/templates/[\{template.code}](/developers/resources/guild-template#guild-template-object)</Route>

Modifies the template's metadata. Requires the `MANAGE_GUILD` permission. Returns the [guild template](/developers/resources/guild-template#guild-template-object) object on success.

<ManualAnchor id="modify-guild-template-json-params" />

###### JSON Params

| Field | Type | Description |
| - | - | - |
| name? | string | name of the template (1-100 characters) |
| description? | ?string | description for the template (0-120 characters) |

## Delete Guild Template

<Route method="DELETE">/guilds/[\{guild.id}](/developers/resources/guild#guild-object)/templates/[\{template.code}](/developers/resources/guild-template#guild-template-object)</Route>

Deletes the template. Requires the `MANAGE_GUILD` permission. Returns the deleted [guild template](/developers/resources/guild-template#guild-template-object) object on success.
