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

# Publish to the directory

> Validate your service documents and submit your origin to the InFlow directory, so that agents can find your service.

List your service in the InFlow directory, so that agents can find it with the InFlow CLI. This is the last page of Launch. See [The InFlow directory](/concepts/directory).

## What the directory accepts

The directory accepts one of two public documents.

| Document | Detail |
| - | - |
| ODP Service Document | The native format. Serve it at `/.well-known/odp` on your origin. See [Make your products discoverable](/sellers/make-products-discoverable). |
| OpenAPI 3.x document | A JSON document. Submit its exact URL, or an origin where the directory can discover it. |

The directory reads documents only. It does not call your endpoints or make payments. The documents and the declared endpoints must be publicly reachable. The directory cannot read a `localhost` server, so publish after you [go live](/sellers/go-live).

## Step 1: Check your integration

Test discovery, enrollment, and payments against the running service first. See [Check your integration](/sellers/verify-your-integration).

## Step 2: Validate the service

The validator runs the same blocking checks as the directory: ODP metadata, branding resources, advertised AEP support, and payment declarations. It does not publish your service or call your endpoints.

<Steps>
  <Step title="Open the validator">
    Open `directory.inflowpay.ai/validate` in your browser.
  </Step>

  <Step title="Enter the source">
    Enter an HTTPS origin, or the exact URL of a JSON OpenAPI document. To validate one native ODP collection, add `#collection=your-collection-id` to the origin.
  </Step>

  <Step title="Run the checks">
    Complete the captcha. Then select **Validate Service**. Correct each reported problem. Then run the checks again.
  </Step>
</Steps>

## Step 3: Submit the service

For an ODP service, submit the bare, canonical HTTPS origin that serves your ODP document.

| Correct | Not correct |
| - | - |
| `https://api.example.com` | `https://api.example.com/.well-known/odp` |
| | `https://api.example.com/products/42` |
| | `http://api.example.com` |
| | `https://api.example.com/?v=2` |

To submit one native ODP collection, add `#collection=<id>` to the origin. For an OpenAPI service, submit the exact document URL. Directory administrators configure OpenAPI collections.

<Tabs>
  <Tab title="Browser">
    Open `directory.inflowpay.ai/publish` in your browser. Enter your origin or your OpenAPI document URL. Complete the captcha. Then select **Submit Service**.
  </Tab>

  <Tab title="API">
    Agents and automated workflows can submit the origin to the directory API.

    ```bash theme={null}
    curl --request POST https://directory.inflowpay.ai/v1/services \
      --header 'Content-Type: application/json' \
      --data '{"origin":"https://api.example.com"}'
    ```
  </Tab>
</Tabs>

The directory validates the public document before it accepts the service for indexing.

## Step 4: Confirm the listing

A successful submission does not prove that the directory indexed your service. Search the directory for it.

```bash theme={null}
inflow directory search "your service name" --environment production
```

Your service is in the production directory. A CLI that uses the sandbox does not find it.

Then read your service as an agent does.

```bash theme={null}
inflow inspect https://api.example.com
inflow odp inspect https://api.example.com
```

Confirm that the output reports ODP, AEP, MPP, and x402.

## Troubleshooting

<AccordionGroup>
  <Accordion title="The validator rejects the origin">
    Remove the path and the query. The only fragment that the directory accepts is `#collection=<id>`. Use HTTPS.
  </Accordion>

  <Accordion title="The validator cannot read the document">
    The document must be public. Open `https://your-origin/.well-known/odp` in a browser from outside your network.
  </Accordion>

  <Accordion title="The service is listed, but agents cannot pay">
    The directory does not test payments. Run `inflow mpp inspect` or `inflow x402 inspect` on a paid endpoint. Then follow [Check your integration](/sellers/verify-your-integration).
  </Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.