> ## Documentation Index
> Fetch the complete documentation index at: https://tyk.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# API Publishing Endpoints

> This page details the API endpoint used for publishing APIs to Tyk classic Dev Portal. API platform teams and API owners can use this endpoint to integrate their APIs, making them visible and accessible to developers.

<Warning>
  **Attention:**

  You’ve reached a page related to the *Tyk Classic Portal*. If you were searching for *API documentation of the new Tyk
  Developer Portal* please use the latest
  [Postman collection](/5.8/product-stack/tyk-enterprise-developer-portal/api-documentation/tyk-edp-api) page.

  <br />

  <br />

  **Future deprecation of Tyk Classic Portal**

  This product is no longer actively developed as it
  has been superseded by the new [Tyk Developer Portal](/5.8/portal/overview/intro).

  <br />

  Please note that the Tyk Classic Portal now has limited support and maintenance. Please contact us at
  [support@tyk.io](<mailto:support@tyk.io?subject=Tyk classic developer portal>)if you have any questions.
</Warning>

This page describes the endpoints to create [catalog](/5.8/#catalog) and [Swagger documentation](/5.8/#documentation) for your API.

<br />

<Note>
  **Important Note on Spelling:**

  While our documentation now uses American English, the product itself, including UI, configuration fields, environment
  variables, and APIs endpoints, retain British English spellings. When interacting with the product, please continue
  using the British English spellings as they appear in the interface and API. (This means that for existing users nothing
  has changed).

  <br />

  **Example:** The API endpoint `/api/portal/catalogue` as shown throughout this page uses British spelling. In all other
  instances, such as when describing or referring to this object in the documentation, we will use the
  American spelling "catalog".
</Note>

## Documentation

### Create Documentation

| **Property** | **Description**             |
| :----------- | :-------------------------- |
| Resource URL | `/api/portal/documentation` |
| Method       | POST                        |
| Type         | None                        |
| Body         | Documentation Object        |
| Param        | None                        |

The Swagger or Blueprint should be base64 encoded and included in the `documentation` field of the Request Body, as per the example below.

<Note>
  Support for API Blueprint is being deprecated. See [Importing APIs](/5.8/api-management/gateway-config-managing-classic#api-blueprint-is-being-deprecated) for more details.
</Note>

#### Sample Request

```{.copyWrapper} theme={null}
POST /api/portal/documentation HTTP/1.1
Host: localhost
authorization:7a7b140f-2480-4d5a-4e78-24049e3ba7f8

{
  "api_id": "",
  "doc_type": "swagger",
  "documentation": "<base64-encoded-swagger>"
}
```

#### Sample Response

```
{
  "Status": "OK",
  "Message": "5ea6b2bd971eed0001009ddc",
  "Meta": null
}
```

### Delete Documentation

| **Property** | **Description**                  |
| :----------- | :------------------------------- |
| Resource URL | `/api/portal/documentation/{id}` |
| Method       | DELETE                           |
| Type         | None                             |
| Body         | None                             |
| Param        | None                             |

#### Sample Request

```{.copyWrapper} theme={null}
DELETE/api/portal/documentation HTTP/1.1
Host: localhost
authorization:7a7b140f-2480-4d5a-4e78-24049e3ba7f8
```

#### Sample Response

```
{
  "Status": "OK",
  "Message": "Data deleted",
  "Meta": null
}
```

## Catalog

### List Catalog

| **Property** | **Description**         |
| :----------- | :---------------------- |
| Resource URL | `/api/portal/catalogue` |
| Method       | GET                     |
| Type         | None                    |
| Body         | None                    |
| Param        | None                    |

#### Sample Request

```http theme={null}
GET /api/portal/catalogue HTTP/1.1
Host: localhost
authorization:7a7b140f-2480-4d5a-4e78-24049e3ba7f8
```

#### Sample Response

```json theme={null}
{
  "id":"5cc03284d07e7f00019404b4",
  "org_id":"5cc03283d07e7f00019404b3",
  "apis":[
    {
      "name":"Portal OAuth API",
      "short_description":"",
      "long_description":"",
      "show":true,
      "api_id":"",
      "policy_id":"5ce4086ce845260001c1e1f5",
      "documentation":"",
      "version":"v2",
      "is_keyless":false,
      "config":{
        "id":"",
        "org_id":"",
        "signup_fields":[

        ],
        "key_request_fields":[

        ],
        "require_key_approval":false,
        "redirect_on_key_request":false,
        "redirect_to":"",
        "enable_multi_selection":false,
        "disable_login":false,
        "disable_signup":false,
        "disable_auto_login":false,
        "catalogue_login_only":false,
        "oauth_usage_limit":-1,
        "email":"",
        "mail_options":{
          "mail_from_name":"",
          "mail_from_email":"",
          "email_copy":{
            "welcome_email":{
              "enabled":false,
              "subject":"",
              "body":"",
              "sign_off":"",
              "hide_token_data":false
            },
            "key_email":{
              "enabled":false,
              "subject":"",
              "body":"",
              "sign_off":"",
              "hide_token_data":false
            },
            "reset_password_email":{
              "enabled":false,
              "subject":"",
              "body":"",
              "sign_off":"",
              "hide_token_data":false
            }
          }
        },
        "override":false,
        "HashKeys":false
      },
      "fields":{

      },
      "auth_type":"oauth"
    },
    {
      "name":"Test API",
      "short_description":"",
      "long_description":"",
      "show":true,
      "api_id":"",
      "policy_id":"5ce51721e845260001d0a550",
      "documentation":"5cf0d65d0313b300010b89ab",
      "version":"v2",
      "is_keyless":false,
      "config":{
        "id":"",
        "org_id":"",
        "signup_fields":[

        ],
        "key_request_fields":[

        ],
        "require_key_approval":false,
        "redirect_on_key_request":false,
        "redirect_to":"",
        "enable_multi_selection":false,
        "disable_login":false,
        "disable_signup":false,
        "disable_auto_login":false,
        "catalogue_login_only":false,
        "oauth_usage_limit":-1,
        "email":"",
        "mail_options":{
          "mail_from_name":"",
          "mail_from_email":"",
          "email_copy":{
            "welcome_email":{
              "enabled":false,
              "subject":"",
              "body":"",
              "sign_off":"",
              "hide_token_data":false
            },
            "key_email":{
              "enabled":false,
              "subject":"",
              "body":"",
              "sign_off":"",
              "hide_token_data":false
            },
            "reset_password_email":{
              "enabled":false,
              "subject":"",
              "body":"",
              "sign_off":"",
              "hide_token_data":false
            }
          }
        },
        "override":false,
        "HashKeys":false
      },
      "fields":{

      },
      "auth_type":"authToken"
    }
  ],
  "email":""
}
```

### Create Catalog

| **Property** | **Description**         |
| :----------- | :---------------------- |
| Resource URL | `/api/portal/catalogue` |
| Method       | POST                    |
| Type         | None                    |
| Body         | None                    |
| Param        | None                    |

#### Sample Request

```http theme={null}
POST /api/portal/catalogue HTTP/1.1
Host: localhost
authorization:7a7b140f-2480-4d5a-4e78-24049e3ba7f8
```

#### Sample Response

```yaml theme={null}
{
  Response here
}
```

### Update Catalog

| **Property** | **Description**         |
| :----------- | :---------------------- |
| Resource URL | `/api/portal/catalogue` |
| Method       | PUT                     |
| Type         | None                    |
| Body         | None                    |
| Param        | None                    |

#### Sample Request

```http theme={null}
PUT /api/portal/catalogue HTTP/1.1
Host: localhost
authorization:7a7b140f-2480-4d5a-4e78-24049e3ba7f8
```

#### Sample Response

```yaml theme={null}
{
  Response here
}
```
