> ## Documentation Index
> Fetch the complete documentation index at: https://cantonfoundation-canton-docs-snippet-dedupe.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# POST /v0/entry/create

> Requests the creation of a new ANS entry.
ANS entries need to be paid and renewed via subscription payments.

Upon requesting the creation of the ANS entry, a subscription request is created.
The user may accept the subscription request via their wallet by offering the initial payment.
Once the subscription request is accepted, the DSO automation burns the payment and creates the ANS entry.




## OpenAPI

````yaml /openapi/splice/validator/ans-external.yaml post /v0/entry/create
openapi: 3.0.0
info:
  title: ANS API
  version: 0.0.1
servers:
  - url: https://example.com/api/validator
security: []
tags:
  - name: ans
paths:
  /v0/entry/create:
    post:
      tags:
        - ans
      summary: POST /v0/entry/create
      description: >
        Requests the creation of a new ANS entry.

        ANS entries need to be paid and renewed via subscription payments.


        Upon requesting the creation of the ANS entry, a subscription request is
        created.

        The user may accept the subscription request via their wallet by
        offering the initial payment.

        Once the subscription request is accepted, the DSO automation burns the
        payment and creates the ANS entry.
      operationId: createAnsEntry
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAnsEntryRequest'
      responses:
        '200':
          description: ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAnsEntryResponse'
        '400':
          description: |
            Invalid request, check the error response for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          $ref: '#/components/responses/500'
      security:
        - userAuth: []
components:
  schemas:
    CreateAnsEntryRequest:
      type: object
      required:
        - name
        - url
        - description
      properties:
        name:
          type: string
          description: >
            The name of the ANS entry.

            It must end with `.unverified.<ans>` where `<ans>` is the ANS
            acronym chosen by the DSO.
        url:
          type: string
          description: >
            A valid URL or an empty string.

            Use this to link to a website, such as the homepage of an
            application

            provided by the owner of this entry.

            Must not be longer than 255 characters.
        description:
          type: string
          description: |
            A human readable description of the ANS entry.
            May be empty.
            Must not be longer than 140 characters.
    CreateAnsEntryResponse:
      description: >
        The response contains the contract IDs of the corresponding subscription
        request.

        The user must accept the subscription request via their wallet to create
        the ANS entry.
      type: object
      required:
        - name
        - url
        - description
        - entryContextCid
        - subscriptionRequestCid
      properties:
        entryContextCid:
          $ref: '#/components/schemas/ContractId'
        subscriptionRequestCid:
          $ref: '#/components/schemas/ContractId'
        name:
          type: string
          description: |
            The name of the ANS entry, as specified in the request.
        url:
          type: string
          description: |
            The URL of the ANS entry, as specified in the request.
        description:
          type: string
          description: |
            The description of the ANS entry, as specified in the request.
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: string
    ContractId:
      type: string
  responses:
    '500':
      description: internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    userAuth:
      description: >
        JWT token as described in
        [spliceAppBearerAuth](../../../../common/src/main/openapi/common-external.yaml#/components/securitySchemes/spliceAppBearerAuth).

        The subject of the token must be ledger API user of the user affected by
        the endpoint.
      type: http
      scheme: bearer
      bearerFormat: JWT

````