Sign in

The Inner Index · integration guide

Access, tokens
& importing

How approved Inner Index artwork and character profiles reach trusted tools without making the catalogue public.

This guide is public so an Aura Relay user can set up an import before being granted access to the Inner Index. A token is private: do not add an actual token to a ticket, chat, screenshot, or this page.

What is protected and what is public?

The Inner Index review desk, its catalogue data, and its artwork export API require application access. The image files themselves use public /media/ URLs so Aura Relay and social platforms can download and publish the artwork after a successful import. Character portraits are different: their profile URLs require a dedicated token when they are downloaded.

Only completed artwork is exported. Quotes whose artwork is pending, generating, or failed never appear in the feed.

How do I create an import token?
  1. Sign in to the Inner Index.
  2. Choose API settings from the index home page.
  3. Give the token a clear name, such as Aura Relay — main workspace.
  4. Select Artwork read and create the token.
  5. Copy the value beginning ii_ immediately. It is shown once only.

Use one token per integration. A dedicated Aura Relay token makes it safe to replace or revoke that connection without interrupting the local Index sync.

How do I import into Aura Relay?

In Aura Relay, choose Import content (or Start an import) and enter the following:

  • Catalogue endpoint URL: https://content.aurarelay.com/api/v1/artworks
  • API token: paste the token created with the Artwork read permission.

Start the import. Aura Relay sends the value in the API token field as a Bearer token automatically. It copies new artwork, refreshes changed records, and leaves identical records alone. Re-running the same import is therefore safe.

How do I read character profiles?

In API settings, create a dedicated token with Character read. This grants only the character profile feed; it is separate from Aura Relay’s artwork-import permission and can be combined with it only when one trusted integration needs both.

curl -H 'Authorization: Bearer ii_your_character_token_here' \
  'https://content.aurarelay.com/api/v1/characters?after_id=0&limit=50'

The response is paginated in stable ascending character_id order. Start with after_id=0, send the returned next_cursor on the next request, and stop when has_more is false. It includes each character’s active state, bio, age, height, labels, personality, visual_identity, continuity notes, hashtags, public social profiles, and a curated five-photo set in profile_images.

Download protected profile-image URLs with the same Bearer token. Selected chat media is returned in chat_images only when present. Inactive characters remain in the feed so a connected tool can retire them, but must never be used to create or schedule new content.

The complete schema is available after signing in: Character OpenAPI contract.

Can an API import target a particular platform or account?

Yes. For a normal Inner Index import, choose the platforms and accounts in Aura Relay's import screen. Inner Index exports destination-neutral content by default, which keeps one catalogue safe to use with more than one Aura Relay workspace.

An API provider puts an optional distribution object inside each artwork record. It does not belong in the import URL or API request parameters. Omit it completely when Aura Relay should use the normal destination selected in the import screen.

To choose platforms but let Aura Relay choose suitable accounts:

"distribution": {
  "platforms": ["instagram", "tiktok"],
  "mode": "automatic"
}

To name the exact accounts:

"distribution": {
  "platforms": ["instagram", "tiktok"],
  "mode": "specific_accounts",
  "accounts": {
    "instagram": "AURA_RELAY_INSTAGRAM_ACCOUNT_ID",
    "tiktok": "AURA_RELAY_TIKTOK_ACCOUNT_ID"
  }
}

To use a linked Instagram/TikTok account group, set mode to linked_accounts and supply one connected account as the anchor in accounts.

The account values must be Aura Relay connected-account IDs copied from its Accounts page. They are not social handles or provider IDs. If a source does not know the target Aura Relay workspace, it should omit distribution and let the importing user choose. A source distribution is final; use "platforms": [] with "mode": "automatic" to keep that artwork in Aura Relay’s Library and never schedule it.

See the signed-in OpenAPI contract for complete examples.

What does the API request look like?

The export is a cursor-based JSON feed. Aura Relay handles this automatically: it requests pages, passes the returned next_cursor as after_id, and stops when has_more is false.

curl -H 'Authorization: Bearer ii_your_token_here' \
  'https://content.aurarelay.com/api/v1/artworks'
{
  "artworks": [{
    "artwork_id": "quote-79",
    "content": {
      "text": "The quote shown on the artwork",
      "author": "Author",
      "caption": "Separate original copy for the social post"
    },
    "hashtags": ["growth", "wisdom"],
    "subjects": ["philosophy"],
    "active": true,
    "assets": [{"asset_id": "quote-79-4x5-v1", "aspect_ratio": "4:5", "url": "https://content.aurarelay.com/media/output/quote-79-4x5.png"}]
  }],
  "next_cursor": 79,
  "has_more": false
}

The API accepts 1–100 records per request. Every item contains only its stable ID, content (the quotation text, optional author, and optional separate social caption), optional hashtags and subjects, active, and absolute asset URLs. The quotation is the text shown on the artwork; content.caption is the original copy to use for the post itself and may be null on older records. Choose an asset by its aspect_ratio: normal posts currently provide 4:5 and 9:16; carousel slides provide 4:5 and a numeric position for their order. Only active, completed artwork is exported. On later Aura Relay imports, it automatically sends import_from with the last completed import time so this API returns only newer artwork. The formal schema is available in the OpenAPI contract after signing in.

Which permission should I choose?

Artwork read is the permission for Aura Relay and any other importer. It grants access only to the completed-artwork feed.

Character read is for a trusted character-profile integration. It grants access only to /api/v1/characters and its protected profile-image downloads.

Catalogue sync is reserved for the trusted local Inner Index workspace. It lets that workspace read and write the private catalogue against the production database. Do not give this wider permission to Aura Relay.

How do I replace or revoke a token?

Go to API settings, create a replacement token, update the API token field in Aura Relay and run a test import. Once it succeeds, use Revoke beside the old token. A revoked token stops working immediately.

The settings page keeps the token name, permissions, creation time, and last-used time. It never stores the original secret in a recoverable form, so a lost value must be replaced.

What happens locally and on production?

The production SQLite database is the authoritative catalogue. The local Inner Index connects to it with its own Catalogue sync token, so additions, edits, and reads use the production data rather than a separate writable local copy.

Artwork is backed by S3. The Inner Index cache sync downloads any missing image files from S3; an image is added to the local cache when it is downloaded. The homepage’s Sync S3 cache button is available to explicitly reconcile the cache.

Why might an import fail?
  • 401 / unauthorised: create a fresh token with Artwork read, then paste it into Aura Relay’s API token field.
  • No artwork imported: only completed artwork is eligible. Finish artwork generation and approval in the Inner Index, then repeat the import.
  • Token was lost: it cannot be revealed again. Create a new token and update Aura Relay.
  • Old token was revoked: create a replacement, save it in Aura Relay, and run the import again.