# Tokens ## List tokens. `client.AISearch.Tokens.List(ctx, params) (*V4PagePaginationArray[TokenListResponse], error)` **get** `/accounts/{account_id}/ai-search/tokens` List tokens. ### Parameters - `params TokenListParams` - `AccountID param.Field[string]` Path param - `Page param.Field[int64]` Query param: Page number (1-indexed). - `PerPage param.Field[int64]` Query param: Number of results per page. - `Search param.Field[string]` Query param: Filter tokens whose name contains this string (case-insensitive). ### Returns - `type TokenListResponse struct{…}` - `ID string` - `CfAPIID string` - `CreatedAt Time` - `ModifiedAt Time` - `Name string` - `CreatedBy string` - `Enabled bool` - `Legacy bool` - `ModifiedBy string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.AISearch.Tokens.List(context.TODO(), ai_search.TokenListParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "result": [ { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "cf_api_id": "cf_api_id", "created_at": "2019-12-27T18:11:19.117Z", "modified_at": "2019-12-27T18:11:19.117Z", "name": "name", "created_by": "created_by", "enabled": true, "legacy": true, "modified_by": "modified_by" } ], "result_info": { "count": 0, "page": 0, "per_page": 0, "total_count": 0 }, "success": true } ``` ## Create token. `client.AISearch.Tokens.New(ctx, params) (*TokenNewResponse, error)` **post** `/accounts/{account_id}/ai-search/tokens` Create a new token. ### Parameters - `params TokenNewParams` - `AccountID param.Field[string]` Path param - `CfAPIID param.Field[string]` Body param - `CfAPIKey param.Field[string]` Body param - `Name param.Field[string]` Body param - `Legacy param.Field[bool]` Body param ### Returns - `type TokenNewResponse struct{…}` - `ID string` - `CfAPIID string` - `CreatedAt Time` - `ModifiedAt Time` - `Name string` - `CreatedBy string` - `Enabled bool` - `Legacy bool` - `ModifiedBy string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) token, err := client.AISearch.Tokens.New(context.TODO(), ai_search.TokenNewParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), CfAPIID: cloudflare.F("a1b2c3d4e5f6"), CfAPIKey: cloudflare.F("abc123"), Name: cloudflare.F("my-token"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", token.ID) } ``` #### Response ```json { "result": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "cf_api_id": "cf_api_id", "created_at": "2019-12-27T18:11:19.117Z", "modified_at": "2019-12-27T18:11:19.117Z", "name": "name", "created_by": "created_by", "enabled": true, "legacy": true, "modified_by": "modified_by" }, "success": true } ``` ## Read token. `client.AISearch.Tokens.Read(ctx, id, query) (*TokenReadResponse, error)` **get** `/accounts/{account_id}/ai-search/tokens/{id}` Read token. ### Parameters - `id string` - `query TokenReadParams` - `AccountID param.Field[string]` ### Returns - `type TokenReadResponse struct{…}` - `ID string` - `CfAPIID string` - `CreatedAt Time` - `ModifiedAt Time` - `Name string` - `CreatedBy string` - `Enabled bool` - `Legacy bool` - `ModifiedBy string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.AISearch.Tokens.Read( context.TODO(), "62af0db3-c410-40b2-9ee3-0e93f6dd1de0", ai_search.TokenReadParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ID) } ``` #### Response ```json { "result": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "cf_api_id": "cf_api_id", "created_at": "2019-12-27T18:11:19.117Z", "modified_at": "2019-12-27T18:11:19.117Z", "name": "name", "created_by": "created_by", "enabled": true, "legacy": true, "modified_by": "modified_by" }, "success": true } ``` ## Update token. `client.AISearch.Tokens.Update(ctx, id, params) (*TokenUpdateResponse, error)` **put** `/accounts/{account_id}/ai-search/tokens/{id}` Update token. ### Parameters - `id string` - `params TokenUpdateParams` - `AccountID param.Field[string]` Path param - `CfAPIID param.Field[string]` Body param - `CfAPIKey param.Field[string]` Body param - `Name param.Field[string]` Body param - `Legacy param.Field[bool]` Body param ### Returns - `type TokenUpdateResponse struct{…}` - `ID string` - `CfAPIID string` - `CreatedAt Time` - `ModifiedAt Time` - `Name string` - `CreatedBy string` - `Enabled bool` - `Legacy bool` - `ModifiedBy string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) token, err := client.AISearch.Tokens.Update( context.TODO(), "62af0db3-c410-40b2-9ee3-0e93f6dd1de0", ai_search.TokenUpdateParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), CfAPIID: cloudflare.F("a1b2c3d4e5f6"), CfAPIKey: cloudflare.F("abc123"), Name: cloudflare.F("my-token"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", token.ID) } ``` #### Response ```json { "result": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "cf_api_id": "cf_api_id", "created_at": "2019-12-27T18:11:19.117Z", "modified_at": "2019-12-27T18:11:19.117Z", "name": "name", "created_by": "created_by", "enabled": true, "legacy": true, "modified_by": "modified_by" }, "success": true } ``` ## Delete token. `client.AISearch.Tokens.Delete(ctx, id, body) (*TokenDeleteResponse, error)` **delete** `/accounts/{account_id}/ai-search/tokens/{id}` Delete token. ### Parameters - `id string` - `body TokenDeleteParams` - `AccountID param.Field[string]` ### Returns - `type TokenDeleteResponse interface{…}` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) token, err := client.AISearch.Tokens.Delete( context.TODO(), "62af0db3-c410-40b2-9ee3-0e93f6dd1de0", ai_search.TokenDeleteParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", token) } ``` #### Response ```json { "result": {}, "success": true } ```