Skip to content

Semify Enterprise REST APIs (2.0.0)

This is the documentation for the Semify Endpoints based on the OpenAPI 3.0 specification. You can find out more about Swagger at http://swagger.io.

Download OpenAPI description
Languages
Servers
Mock server

https://developers.semify.com/_mock/openapi/

Sandbox

https://uat.services.semify.com/

Production Server

https://services.semify.com/

accounts

Operations related to accounts.

Operations

keywords

Operations related to keywords.

Operations
Operations

products

Product management endpoints.

Operations

authentication

Authentication/authorization endpoints.

Operations

campaigns

Campaigns and related operations.

Operations

Request

The campaign GET endpoint retrieves all campaigns linked to a reseller, the payload will also return the account id for each campaign

Security
JWTAuth
curl -i -X GET \
  https://developers.semify.com/_mock/openapi/api/v1/campaigns \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Campaigns successfully retrieved.

Bodyapplication/json
dataArray of objectsrequired
Example: [{"campaign_start_date":"2024-07-06T19:09:14Z","ppc_monthly_budget_invoice_status":0,"campaign_id":1234567,"account_id":9654321,"campaign_stage_id":5,"campaign_end_date":"2029-07-06T19:09:14Z","ppc_monthly_budget":0,"discount":0,"decline_gmb":0,"campaign_name":"semify.com","decline_reviews":0,"campaign_stage_name":"Closed/Won","decline_blog":0,"status":1}]
data[].​campaign_start_datestring(date-time)
Example: "2024-07-06T19:09:14Z"
data[].​ppc_monthly_budget_invoice_statusinteger(int64)
Example: 1
data[].​campaign_idinteger(int64)
Example: 7654321
data[].​account_idinteger(int64)
Example: 1234557
data[].​campaign_stage_idinteger(int64)
Enum12345
Example: 5
data[].​campaign_end_datestring(date-time)
Example: "2024-07-06T19:09:14Z"
data[].​ppc_monthly_budgetnumber(float)
Example: 0
data[].​discountinteger(int64)
Example: 0
data[].​decline_gmbinteger(int64)
Enum01
Example: 0
data[].​campaign_namestring
Example: "campaign name"
data[].​decline_reviewsinteger(int64)
Enum01
Example: 1
data[].​campaign_stage_namestring
Enum"Cold""Warm""Proposal""Neg/Review""Closed/Won"
Example: "Closed/Won"
data[].​decline_bloginteger(int64)
Enum01
Example: 1
data[].​statusinteger(int64)
Enum01
Example: 1
errorbooleanrequired
Example: false
paginationobjectrequired
Example: {"totalPages":1,"maxRows":0,"offset":0,"page":1,"totalRecords":1}
pagination.​totalPagesinteger(int64)
Example: 1
pagination.​maxRowsinteger(int64)
Example: 0
pagination.​offsetinteger(int64)
Example: 0
pagination.​pageinteger(int64)
Example: 1
pagination.​totalRecordsinteger(int64)
Example: 1
messagesArray of stringsrequired
Example: ["Campaigns successfully retrieved."]
Response
application/json
{ "data": [ { … } ], "error": false, "pagination": { "totalPages": 1, "maxRows": 0, "offset": 0, "page": 1, "totalRecords": 1 }, "messages": [ "Campaigns successfully retrieved." ] }

Request

Retrieve campaign notes for a specific campaign

Security
JWTAuth
Query
campaign_idinteger(int32)required

The ID of the campaign

curl -i -X GET \
  'https://developers.semify.com/_mock/openapi/api/v2/campaigns/notes?campaign_id=0' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Campaign notes retrieved successfully

Bodyapplication/json
errorboolean

Flag to indicate an error.

Example: false
messagesArray of strings

An array of messages related to the request.

paginationobject

Pagination information.

dataobject

The campaign notes data

Response
application/json
{ "error": false, "messages": [ "Campaign notes retrieved successfully" ], "pagination": {}, "data": { "campaign_id": 12345, "writer_instructions": "Focus on local SEO and content marketing", "additional_instructions": "Include industry-specific keywords and maintain a professional tone", "created_at": "2024-03-15T10:30:00Z", "updated_at": "2024-03-15T10:30:00Z" } }

Request

Update campaign notes for a specific campaign

Security
JWTAuth
Bodyapplication/jsonrequired

Fields needed to update campaign notes

campaign_idinteger(int32)required

The ID of the campaign

Example: 6543211
writer_instructionsstringrequired

Instructions for the writer

Example: "instructions for the writer"
additional_instructionsstringrequired

Additional instructions for the writer

Example: "additional instructions for the writer"
curl -i -X PUT \
  https://developers.semify.com/_mock/openapi/api/v2/campaigns/notes \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "campaign_id": 12345,
    "writer_instructions": "Focus on local SEO and content marketing",
    "additional_instructions": "Include industry-specific keywords and maintain a professional tone"
  }'

Responses

Campaign notes updated successfully

Bodyapplication/json
errorboolean

Flag to indicate an error.

Example: false
messagesArray of strings

An array of messages related to the request.

paginationobject

Pagination information.

dataobject

The campaign notes data

Response
application/json
{ "error": false, "messages": [ "Campaign notes updated successfully" ], "pagination": {}, "data": { "campaign_id": 12345, "writer_instructions": "Focus on local SEO and content marketing", "additional_instructions": "Include industry-specific keywords and maintain a professional tone", "created_at": "2024-03-15T10:30:00Z", "updated_at": "2024-03-15T10:30:00Z" } }

google gbp accounts

Google GBP account endpoints.

Operations