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

# Deploy NFT Collection

> Deploys an NFT collection contract with the specified characteristics.



## OpenAPI

````yaml post /erc721/deploy
openapi: 3.0.1
info:
  title: TrustOS EVM Token API
  description: >-
    TrustOS EVM Token API is used to interact with TrustOS database. In case you
    have some questions or need more about the use of this API, don't hesitate
    to contact B-Team:
  contact:
    name: Blockchain Team
    email: soporte-bteam@telefonica.com
  version: 0.2.0-rc.32
servers:
  - url: https://lab.trustos.telefonicatech.com/track/v2
    description: Lab
security: []
tags:
  - name: ERC-20
    description: ERC-20 Token Endpoints.
  - name: ERC-721
    description: Non-Fungible Token Endpoints.
  - name: Utils
    description: Methods for specific use cases.
paths:
  /erc721/deploy:
    post:
      tags:
        - ERC-721
      summary: Deploy an ERC721 collection contract
      parameters:
        - name: networkId
          in: query
          description: >-
            Network identifier where the NFT collection contract will be
            deployed.
          required: true
          schema:
            type: number
            example: 10004
      requestBody:
        description: Data needed for the deployment
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the collection.
                  example: MyToken
                symbol:
                  type: string
                  description: >-
                    Symbol of the collection. Can be used later as an identifier
                    with the networkId.
                  example: MTK
              required:
                - name
                - symbol
        required: true
      responses:
        '201':
          $ref: '#/components/responses/201-NFTTokenDeployed'
        '400':
          $ref: '#/components/responses/400-ValidationError'
        '401':
          $ref: '#/components/responses/401-AuthenticationError'
        '403':
          $ref: '#/components/responses/403-ForbiddenError'
        '409':
          $ref: '#/components/responses/409-ExistingTokenError'
        '429':
          $ref: '#/components/responses/429-OutOfCreditsError'
        '500':
          $ref: '#/components/responses/500-InternalServerError'
        '503':
          $ref: '#/components/responses/503-ServiceUnavailable'
        '504':
          $ref: '#/components/responses/504-GatewayTimeout'
      security:
        - bearerAuth: []
components:
  responses:
    201-NFTTokenDeployed:
      description: Successful token deployment.
      content:
        application/json:
          schema:
            type: object
            properties:
              statusCode:
                type: number
                description: Request status code.
                example: 201
              message:
                type: string
                description: Message returned by the request.
                example: Healthcheck
              data:
                type: object
                description: Data returned by the request.
                properties:
                  type:
                    type: string
                    description: Type of token.
                    example: ERC721
                  deployer:
                    type: string
                    description: The user who deployed the token.
                    example: did:user:<id>
                  data:
                    type: object
                    description: Data of the deployed token.
                    properties:
                      contractAddress:
                        type: string
                        description: Address where the token contract was deployed.
                        example: '0xebF01265FcE347EE2161f37e49416d947C7a9590'
                      name:
                        type: string
                        description: Token name.
                        example: MyToken
                      symbol:
                        type: string
                        description: Token symbol.
                        example: MTK
                      networkId:
                        type: number
                        description: >-
                          Network identifier where the NFT collection contract
                          was deployed.
                        example: 10004
    400-ValidationError:
      description: Validation error.
      content:
        application/json:
          schema:
            type: object
            properties:
              statusCode:
                type: number
                description: Request status code.
                example: 400
              type:
                type: string
                description: Error type.
                example: Validation Error
              message:
                type: string
                description: Message returned by the request.
                example: Request parameters are wrong, check requirements
              errors:
                type: array
                description: All the validation errors encountered in the request.
                items:
                  type: object
                  properties:
                    field:
                      type: string
                      description: Name of the field.
                      example: ''
                    error:
                      type: string
                      description: Description of the error encountered.
                      example: ''
    401-AuthenticationError:
      description: Authentication error.
      content:
        application/json:
          schema:
            type: object
            properties:
              statusCode:
                type: number
                description: Request status code.
                example: 401
              type:
                type: string
                description: Error type.
                example: Authentication Error
              message:
                type: string
                description: Message returned by the request.
                enum:
                  - Token is invalid
                  - Token is expired
                  - Token is not provided
    403-ForbiddenError:
      description: Forbidden error.
      content:
        application/json:
          schema:
            type: object
            properties:
              statusCode:
                type: number
                description: Request status code.
                example: 403
              type:
                type: string
                description: Error type.
                example: Forbidden Error
              message:
                type: string
                description: Message returned by the request.
                example: >-
                  Provider not available in your plan. Please, contact B-Team to
                  include it
    409-ExistingTokenError:
      description: Existing token error.
      content:
        application/json:
          schema:
            type: object
            properties:
              statusCode:
                type: number
                description: Request status code.
                example: 409
              type:
                type: string
                description: Error type.
                example: Existing Token Error
              message:
                type: string
                description: Message returned by the request.
                example: Token with same symbol already exists
    429-OutOfCreditsError:
      description: Out of credits error.
      content:
        application/json:
          schema:
            type: object
            properties:
              statusCode:
                type: number
                description: Request status code.
                example: 429
              type:
                type: string
                description: Type of the error.
                example: Out of Credits Error
              message:
                type: string
                description: Message returned by the request.
                example: >-
                  User has run out of credits. Please, contact BTeam to increase
                  the limit
    500-InternalServerError:
      description: Internal server error.
      content:
        application/json:
          schema:
            type: object
            properties:
              statusCode:
                type: number
                description: Request status code.
                example: 500
              type:
                type: string
                description: Error type.
                example: Internal Server Error
              message:
                type: string
                description: Message returned by the request.
                example: Opps! Something went wrong!
    503-ServiceUnavailable:
      description: Service unavailable error.
      content:
        application/json:
          schema:
            type: object
            properties:
              statusCode:
                type: number
                description: Request status code.
                example: 503
              type:
                type: string
                description: Error type.
                example: Service Unavailable Error
              message:
                type: string
                description: Message returned by the request.
                example: Service temporarily unavailable, please try again later
    504-GatewayTimeout:
      description: Gateway timeout error.
      content:
        application/json:
          schema:
            type: object
            properties:
              statusCode:
                type: number
                description: Request status code.
                example: 504
              type:
                type: string
                description: Error type.
                example: Gateway Timeout Error
              message:
                type: string
                description: Message returned by the request.
                example: >-
                  Impossible to mine transaction. This could be due to a rise in
                  gas prices. Please try again
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````