Artfora API Documentation (1.0.0)

Download OpenAPI specification:Download

Documentation for the Artfora Redemption API. This API is used to interact with the Artfora redemption platform. The API is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

Collections

Use these routes to fetch data about collections and NFTs.

Get Collections

Retrieve collections data based on query parameters. The fields that will always be displayed, regardless of the blockchain, are:

  • contract_address
  • name
  • slug
  • blockchain
  • image_url
  • redeemed_from
  • is_active
  • description
  • medium

This data is sourced from Artfora's database and smart contracts.

query Parameters
artist
string

Filter by artist

blockchain
string
Enum: "eth" "xtz"

Filter by blockchain

text
string

Text search on name and creator name fields

sort
string
Enum: "NAME_ASC" "NAME_DESC" "ARTIST_ASC" "ARTIST_DESC"

Sort order (e.g., 'NAME_DESC', 'ARTIST_ASC', 'ARTIST_DESC')

page
integer <int32>

Page number for pagination

limit
integer <int32>

Limit the number of items returned per page

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Get Collection NFTs

Retrieve collections data based on query parameters. The fields that will always be displayed, regardless of the blockchain, are:

  • token_id
  • contract_address
  • name
  • image_url
  • metadata
  • is_redeemed

This data is sourced from Artfora's database and smart contracts.

query Parameters
slug
required
string

Collection slug

owner
string

Filter by owner (contract address or wallet address)

token_id
string

Filter by token ID

page
integer <int32>

Page number for pagination

limit
integer <int32>

Limit the number of items returned per page

Responses

Response samples

Content type
application/json
{}

Redemptions

Use these routes to create a redemption request and get signed data to be used to facilitate a redemption through Artfora's Smart Contracts.

Create Studioworks Redemption

Submit an artist redemption request for a specific collection.

Request Body schema: application/json
contract_address
required
string

The contract address of the collection.

token_id
required
string

The token ID of the NFT.

signature
required
string

A signed message: "I hereby sign to verify ownership over token #{TOKEN_ID} from contract {CONTRACT_ADDRESS}". Collector must sign this message string (replace the values with corresponding values of the NFT) - their address and ownership of the token is verified from the signature.

public_key
string

The public key of the Collector address - only required for redemption of Tezos NFTs

required
object (ShippingInformation)
is_premium
boolean

Indicates if it's a premium shipping request.

Responses

Request samples

Content type
application/json
{
  • "contract_address": "0x1234567890123456789012345678901234567890",
  • "token_id": "0",
  • "signature": "0x1234567890123456789012345678901234567890",
  • "public_key": "0x1234567890123456789012345678901234567890",
  • "shipping_information": {
    },
  • "is_premium": true
}

Response samples

Content type
application/json
{
  • "result": {
    }
}

Create Printmaking Redemption

Request Body schema: application/json
collection_slug
required
string
token_id
required
string
signature
required
string
public_key
required
string
required
object (ShippingInformation)
required
object (PrintRequest)

Responses

Request samples

Content type
application/json
{
  • "collection_slug": "string",
  • "token_id": "string",
  • "signature": "string",
  • "public_key": "string",
  • "shipping_information": {
    },
  • "print_information": {
    }
}

Response samples

Content type
application/json
{
  • "result": {
    }
}

Create Plotworks Redemption

Request Body schema: application/json
collection_slug
required
string
token_id
required
string
signature
required
string
public_key
required
string
required
object (ShippingInformation)
required
object (PrintRequest)

Responses

Request samples

Content type
application/json
{
  • "collection_slug": "string",
  • "token_id": "string",
  • "signature": "string",
  • "public_key": "string",
  • "shipping_information": {
    },
  • "print_information": {
    }
}

Response samples

Content type
application/json
{
  • "result": {
    }
}

Get Signed Transaction Data

query Parameters
slug
required
string

Collection slug

token_id
required
string

Token ID

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}