Skip to content

AC:NH Server

Yannik Marchand edited this page Nov 11, 2021 · 11 revisions

This server provides services for Animal Crossing: New Horizons.

This server is at https://api.hac.lp1.acbaa.srv.nintendo.net. All request and response bodies are encoded with application/x-msgpack.

Headers

Header Description
Host api.hac.lp1.acbaa.srv.nintendo.net
User-Agent libcurl/7.64.1 (HAC; nnEns; SDK 9.3.4.0)
Accept */*
Authorization Bearer ... (id token or auth token). This header is not sent in requests for /resources.
Content-Type application/x-msgpack. This header is not sent in requests for /resources.
Content-Length Content length. Only present in POST and PUT requests.

Methods

Method URL
POST /api/v1/auth_token
POST /api/v1/design_players
POST /api/v1/designs
GET /api/v1/designs/<id>
PUT /api/v1/designs/<id>
DELETE /api/v1/designs/<id>
POST /api/v1/designs/<id>/feedback
GET /api/v1/friend_requests
POST /api/v1/friend_requests
PUT /api/v1/friend_requests/<id>
GET /api/v1/friends
DELETE /api/v1/friends/<id>
POST /api/v1/lands
PUT /api/v1/lands/<id>/profile
POST /api/v1/lands/updated_addresses
GET /api/v1/legacy_designs
DELETE /api/v1/legacy_designs
GET /api/v1/legacy_designs/<id>
GET /api/v1/message_cards
POST /api/v1/message_cards
GET /api/v1/message_cards/<id>
POST /api/v1/message_cards/delete
POST /api/v1/notification_tokens
POST /api/v1/reports
POST /api/v1/users
PUT /api/v1/users/<id>/land
PUT /api/v1/users/<id>/profile
GET /api/v1/users/<id>/profile_status
PUT /api/v1/users/<id>/web_service_status
GET /api/v2/designs

POST /api/v1/auth_token

This method provides an auth token for other requests. The Authorization header must contain the id token obtained from the baas server. User id and password are generated by the server when a new user is registered with /api/v1/users.

Param Type
id Uint64
password String

Response on success:

Field Type
token String
expire_at Sint64

POST /api/v1/design_players

Param Type
name String

Response on success:

Field Type
id Uint64

POST /api/v1/designs

Param Type
body Binary
meta Binary
net_image Binary
preview_image Binary

Response on success:

Field Type
id Uint64

GET /api/v1/designs/<id>

Response on success:

Field Type
id Uint64
body Binary

POST /api/v1/designs/<id>/feedback

Param Type
type String

GET /api/v1/friend_requests

URL Param Description
type String

Response on success:

Field
count
friend_requests

Friend Request:

Field
id
user_id
sent_at
meta

POST /api/v1/friend_requests

URL Param Description
target_user_id Integer
Param Type
meta Binary

Response on success:

Field Type
id Uint64
approved Bool

PUT /api/v1/friend_requests/<id>

Param Type
action String

GET /api/v1/friends

Response on success:

Field
count
friends

Friend:

Field
user_id

POST /api/v1/lands

Param Type
name String
display_id Uint8
in_app_id Uint32
region Uint8
hemisphere Uint8

Response on success:

Field Type
id Uint64
password String

POST /api/v1/lands/updated_addresses

Param Type
user_ids List<Uint64>
since Sint64

Response on success:

Field
accessed_at
addresses

Address:

Field
user_id
id
name
display_id
in_app_id

GET /api/v1/legacy_designs

URL Param Description
Offset Integer
Limit Integer

Response on success:

Field
total
count
headers

Header:

Field
id
name
creator
village
created_at

DELETE /api/v1/legacy_designs

Param Type
id_list List<Uint64>

GET /api/v1/legacy_designs/<id>

Response on success:

Field Type
id Uint64
body Binary

GET /api/v1/message_cards

URL Param Description
offset Integer
limit Integer

Response on success:

Field
total
count
headers

Header:

Field
id
user_id
sent_at
digest
meta

POST /api/v1/message_cards

Param Type
target_id Uint64
body Binary
meta Binary

Response on success:

Field Type
id Uint64

GET /api/v1/message_cards/<id>

Response on success:

Field Type
id Uint64
body Binary

POST /api/v1/message_cards/delete

Param Type
id_list List<Uint64>
reason String

POST /api/v1/notification_tokens

Param Type
token String

POST /api/v1/reports

Param Type
type String
category String
reason String
language String
image Binary
user_id Uint64
ugc_data Object
context Object

Response on success:

Field Type
report_id String

POST /api/v1/users

Param Type
name String
birth_month Uint8
birth_date Uint8
Field Type
id Uint64
password String

PUT /api/v1/users/<id>/land

Param Type
id Uint64
password String

GET /api/v1/users/<id>/profile_status

Response on success:

Field Type
user_profile String
land_profile String

PUT /api/v1/users/<id>/web_service_status

Param Type
status String

GET /api/v2/designs

URL Param Description
offset Integer
limit Integer
with_binaries true or false
q[player_id] Integer
q[design_id] Integer
q[pro] true or false

Response on success:

Field
total
count
headers

Header:

Field
id
design_player_id
design_player_name
created_at
updated_at
digest
meta
body

Errors

On error, the server sends the following response:

Field Type
category String
code String

Known Errors

Status Category Code Description
400 lib 3000 Bad request
404 lib 3004 Page not found or wrong http method
404 lib 3005 User not found
500 lib 3997 Maintenance mode (the http reason is set to Maintenance Mode as well)
401 lib 4001 Invalid authorization header
Clone this wiki locally