API

v0.1.0 API Spec

1. POST /auth/login

User posts their username and password. The server responds with a JWT cookie if the provided data is correct, otherwise it returns 403 code.

Request:

{
    email: "[email protected]",
    password: "kojoaio"
}

Response headers:

{
    Set-Cookie: authentication=<token>; Secure HttpOnly
}

2. POST /tasks/create

User posts task info. Server returns a list of UUIDs for each task.

Request:

{
    "tasks": 100,
    "sku": "I3705001",
    "onepurchase": true,
    "site": "www.footlocker.com",
    "sizeRange": [
       "08.5"
    ],
    "profiles" : [
       {
          "card": {
             "numbers": "4035 8600 4617 7414",
             "month": "11",
             "year": "2023",
             "cvc": "088"
          },
          "shipping": {
             "address1": "123 First St.",
             "address2": "",
             "zipcode": "94018",
             "city": "Los Banos",
             "state": "CA", 
             "country": "US"
          },
          "billing": {
             "address1": "123 First St.",
             "address2": "",
             "zipcode": "940818",
             "city": "Los Banos",
             "state": "CA", 
             "country": "US"
          }, 
          "person": {
             "first": "Jill",
             "last": "Sherly",
             "email": "[email protected]",
             "phonenumber": "4088263475"
          }
       },
    ],
    "proxies": [
       ...
    ]
 }

Response:

[
    "9d6d620f-27d0-4f9a-8ab4-4118387a75db",
    "9d6d620f-27d0-4f9a-8ab4-4118387a75db",
    "9d6d620f-27d0-4f9a-8ab4-4118387a75db",
    "9d6d620f-27d0-4f9a-8ab4-4118387a75db",
    "9d6d620f-27d0-4f9a-8ab4-4118387a75db"
]    

3. GET /tasks/{group_uuid}/status

User submits a request to get the status of a task group. The server returns a list of numbers, where each number corresponds to a task status.

Request

GET /tasks/9d6d620f-27d0-4f9a-8ab4-4118387a75db/status

Response

[
    10,
    8,
    10,
    10,
    8,
]

DELETE /tasks/{group_uuid}/

User submits a delete request. Server uses the group ID to delete the given group.

Request

DELETE /tasks/9d6d620f-27d0-4f9a-8ab4-4118387a75db

Response

200

5. POST /tasks/{group}/create/{task}

User submits a post request to add a task to a group.

POST /tasks/9d6d620f-27d0-4f9a-8ab4-4118387a75db/create/9d6d620f-27d0-4f9a-8ab4-4118387a75db

Response

200

6. DELETE /tasks/{group}/{task}

User submits a delete request to delete a task from a group.

Request

DELETE /tasks/9d6d620f-27d0-4f9a-8ab4-4118387a75db/9d6d620f-27d0-4f9a-8ab4-4118387a75db

7. GET /user/analytics

The server parses the JWT token for the UUID and returns the transaction analytics for the user.

Request

GET /user/analytics

Response

{
    "checkouts": "306",
    "totalSpent": "61.2k",
    "failures": "216",
    "add2cartTime": "8.4s",
    "tasksLaunched": "4121",
    "captchasSolved": "1958"
}

8. GET /user/profile

User submits a get request. The server parses the JWT token for the UUID and returns information about the user.

Request

GET /user/profile

Response

{
    "discord": "Counter#9999",
    "userSince": "December 15th, 2020",
    "renewalPrice": "$45",
    "nextRenewal": "February 26th, 2021"
}

9. GET /user/transactions

User submits a get request. The server parses the JWT token for the UUID and returns a list of recently made transactions.

Request

GET /user/transactions

Response

[
    {
        "sku": "CP9652",
        "product": 'adidas Yeezy 350 v2 "Black Red"',
        "size": "10.0",
        "price": "$220.00",
        "site": "Footlocker US",
        "date": "01/24/2021 - 10:09:20"
    },
    {
        "sku": "CP9652",
        "product": 'adidas Yeezy 350 v2 "Black Red"',
        "size": "10.0",
        "price": "$220.00",
        "site": "Footlocker US",
        "date": "01/24/2021 - 10:09:20"
    }
    ...
]

10. GET /product/{product_sku}

User submits a get request and the server returns the name and sizes available for a product.

Request

GET /product/12345678

Response

{
    name: 'adidas Yeezy 350 v2 "Black Red"',
    sizeRange: [
        "07.5",
        "08.0",
        "08.5",
        "09.0",
        "10.0",
        ...
    ]
}

Last updated