# # ForCreaitors API Documentation

\---

<br>

\## Overview

<br>

The ForCreaitors API is built on HTTPS and returns JSON responses. All endpoints require authentication via a Bearer token passed in the \`Authorization\` header.

<br>

\*\*Base URL\*\*

\`\`\`

<https://instagram-analytics-api.vercel.app>

\`\`\`

<br>

\*\*Authentication\*\*

All requests must include:

\`\`\`

Authorization: Bearer YOUR\_TOKEN

\`\`\`

<br>

\---

<br>

\## Data Portability API (DTI)

<br>

ForCreaitors is applying to be a registered participant in the Data Transfer Initiative (DTI) Trust Registry. Our data portability endpoints allow creators to transfer their data from third-party platforms directly into ForCreaitors in a secure, standardized way.

<br>

\---

<br>

\### POST /api/dti/transfer

<br>

Receives an incoming data transfer from a DTI member platform on behalf of a creator.

<br>

\*\*Endpoint\*\*

\`\`\`

POST <https://instagram-analytics-api.vercel.app/api/dti/transfer>

\`\`\`

<br>

\*\*Headers\*\*

\`\`\`

Authorization: Bearer YOUR\_DTI\_SHARED\_SECRET

Content-Type: application/json

\`\`\`

<br>

\*\*Request Body\*\*

\`\`\`json

{

&#x20; "userId": "string",

&#x20; "dataType": "string",

&#x20; "payload": {}

}

\`\`\`

<br>

\| Field | Type | Description |

\|-------|------|-------------|

\| userId | string | The ForCreaitors creator ID |

\| dataType | string | Type of data being transferred (e.g. instagram\_insights) |

\| payload | object | The data payload from the source platform |

<br>

\*\*Response\*\*

\`\`\`json

{

&#x20; "status": "accepted",

&#x20; "transferId": "fc\_1712345678\_abc123",

&#x20; "message": "Transfer received successfully",

&#x20; "timestamp": "2026-04-07T12:00:00.000Z"

}

\`\`\`

<br>

\| Field | Type | Description |

\|-------|------|-------------|

\| status | string | accepted or error |

\| transferId | string | Unique ID to track this transfer |

\| timestamp | string | ISO 8601 timestamp |

<br>

\*\*Error Responses\*\*

<br>

\| Status | Meaning |

\|--------|---------|

\| 401 | Unauthorized — invalid or missing Bearer token |

\| 405 | Method not allowed — only POST is accepted |

\| 500 | Internal server error |

<br>

\---

<br>

\### POST /api/dti/auth

<br>

Validates that a creator has authorized a data transfer request.

<br>

\*\*Endpoint\*\*

\`\`\`

POST <https://instagram-analytics-api.vercel.app/api/dti/auth>

\`\`\`

<br>

\*\*Headers\*\*

\`\`\`

Authorization: Bearer YOUR\_DTI\_SHARED\_SECRET

Content-Type: application/json

\`\`\`

<br>

\*\*Request Body\*\*

\`\`\`json

{

&#x20; "userId": "string",

&#x20; "transferToken": "string"

}

\`\`\`

<br>

\| Field | Type | Description |

\|-------|------|-------------|

\| userId | string | The ForCreaitors creator ID |

\| transferToken | string | Token issued when the creator authorized the transfer |

<br>

\*\*Response\*\*

\`\`\`json

{

&#x20; "status": "authorized",

&#x20; "userId": "string",

&#x20; "timestamp": "2026-04-07T12:00:00.000Z"

}

\`\`\`

<br>

\*\*Error Responses\*\*

<br>

\| Status | Meaning |

\|--------|---------|

\| 401 | Unauthorized — invalid or missing Bearer token |

\| 403 | Forbidden — invalid transfer token |

\| 405 | Method not allowed — only POST is accepted |

\| 500 | Internal server error |

<br>

\---

<br>

\### GET /api/dti/status

<br>

Returns the current status of a data transfer by ID.

<br>

\*\*Endpoint\*\*

\`\`\`

GET <https://instagram-analytics-api.vercel.app/api/dti/status?transferId=fc\\_1712345678\\_abc123>

\`\`\`

<br>

\*\*Headers\*\*

\`\`\`

Authorization: Bearer YOUR\_DTI\_SHARED\_SECRET

\`\`\`

<br>

\*\*Query Parameters\*\*

<br>

\| Parameter | Type | Required | Description |

\|-----------|------|----------|-------------|

\| transferId | string | Yes | The transfer ID returned from POST /api/dti/transfer |

<br>

\*\*Response\*\*

\`\`\`json

{

&#x20; "transferId": "fc\_1712345678\_abc123",

&#x20; "status": "completed",

&#x20; "timestamp": "2026-04-07T12:00:00.000Z"

}

\`\`\`

<br>

\*\*Transfer Statuses\*\*

<br>

\| Status | Meaning |

\|--------|---------|

\| accepted | Transfer received, processing queued |

\| processing | Transfer is being stored |

\| completed | Transfer successfully stored |

\| failed | Transfer encountered an error |

<br>

\*\*Error Responses\*\*

<br>

\| Status | Meaning |

\|--------|---------|

\| 400 | Bad request — transferId is required |

\| 401 | Unauthorized — invalid or missing Bearer token |

\| 404 | Transfer not found |

\| 405 | Method not allowed — only GET is accepted |

\| 500 | Internal server error |

<br>

\---

<br>

\## Data Handling

<br>

ForCreators is committed to responsible data handling in accordance with DTI standards.

<br>

\- All data is transmitted over HTTPS

\- Creator data is stored securely in MongoDB with access controls

\- Creators can request deletion of their data at any time by contacting <chrissy@forcreaitors.com>

\- Data is never sold or shared with third parties without explicit creator consent

\- Access tokens are encrypted at rest

<br>

\---

<br>

\## Support

<br>

For API support or questions, contact us at:

\- Email: <chrissy@forcreators.com>

\- Website: <https://www.forcreaitors.com>

<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://forcreaitors.gitbook.io/forcreaitors-api-documentation/forcreaitors-api-documentation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
